Datastax Sandbox Network
So today I was working with the datastax virtual environment (namely getting the OVA to work inside of VMWare). There was only one issue that I ran into, that was the external networking was not working out of the box. In this post I will discuss what I looked into and how I fixed the problem in the end.
To start, I am not a very savy linux guru, so the purpose of this post is to both share and record my experience so that I can go over it again in the future if needed.
Datastax Sandbox
The datastax sandbox is an environment that is setup with dse cassandra, opscenter and number of useful training materials all on a predefined VM. If you download this vm from datastax, you can either open it in virtualbox or vmware. For me, while I like virtualbox and think it is a great product, I find that vmware general outperforms it for most of my use cases. That may not always be the case and I would love to see virtualbox reign supreme. But since I wanted to use vmware at the time, I pulled down and opened the ova file and imported it into VMWare.
When starting up the virtual machine you will need to use the standard login credentials namely:
username: datastax
password: datastax
Open a terminal and enter the below command, and if you have a simliar output then this fix might be for you.
[datastax@localhost ~]$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18330 errors:0 dropped:0 overruns:0 frame:0
TX packets:18330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7024417 (6.6 MiB) TX bytes:7024417 (6.6 MiB)
[datastax@localhost ~]$
This means that you have the loopback address up (which is good, otherwise you would be having some super serious issues), however there is no other connection so outbound traffic will not work. There is a network adapter that has been provided, so why is it that this network isn’t working?
Steps
At this point, I spent my time trying to understand what is going on with the system. Even when adding a new NIC in vmware fusion it did not show up in the virtual machine. So I first went and looked in the network setup directory to see what was happenining.
[datastax@localhost network-scripts]$ sudo ifup eth0
ifcfg-eth0
eth0
Device eth0 does not seem to be present, delaying initialization.
Since this failed, I went to the actual network scripts to run it and see what was going on.
[datastax@localhost ~]$ cd /etc/sysconfig/network-scripts/
[datastax@localhost network-scripts]$ ./ifup-eth
./network-functions: line 107: .: /etc/sysconfig/network-scripts/: is a directory
Device does not seem to be present, delaying initialization.
Ok, so the device is not present, yet vmware has a device and it for sure is present. The next place to look is in the /etc/udev/rules.d location. So I opened up the 70-persistent-net.rules and found that there were actually 2 NICs defined in there. It seems that when opening the device in vmware it created a new nic instead of updating the default eth0. That is great, this just means I need to have the startup scripts be aware of the new eth1 device.
So jumping out of vim I decided to try to ifup
the eth1.
[datastax@localhost network-scripts]$ ifup eth1
/sbin/ifup: configuration for eth1 not found.
Usage: ifup <device name>
Ok, so now I need a configuration for this new adapter. I did this by copying the configuration
for eth0 ifcfg-eth0
into a new file ifcfg-eth1
and then editing the values that were specific
for that devices, namely the DEVICE
, HWADDR
and removing the UUID
. So when completed
here is what my ifcfg-eth1
file looked like. (Note: I had the actual mac address in the HWADDR
field, but removed from this post).
DEVICE="eth1"
BOOTPROTO="dhcp"
HWADDR="00:00:00:00:00:00"
IPV6INIT="yes"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
At this time, rebooting the machine brought everthing up and then running ifconfig
gave me
better results.
[datastax@localhost ~]$ ifconfig
eth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:10.4.4.23 Bcast:10.4.4.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe22:7175/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:1172 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3207294 (3.0 MiB) TX bytes:219693 (214.5 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:56717 errors:0 dropped:0 overruns:0 frame:0
TX packets:56717 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:16718406 (15.9 MiB) TX bytes:16718406 (15.9 MiB)
finally we ran our test below to make sure my traffic was all good.
[datastax@localhost ~]$ ping google.com
PING google.com (216.58.217.206) 56(84) bytes of data.
64 bytes from lax17s05-in-f206.1e100.net (216.58.217.206): icmp_seq=1 ttl=51 time=21.2 ms
64 bytes from lax17s05-in-f206.1e100.net (216.58.217.206): icmp_seq=2 ttl=51 time=21.4 ms
Success!