Merge branch 'master' of github.com:open-cloud/xos
diff --git a/README.md b/README.md
index 7d279c5..7a72658 100644
--- a/README.md
+++ b/README.md
@@ -3,12 +3,12 @@
For a general introduction to XOS and how it is used in CORD, see
http://guide.xosproject.org. The "Developer Guide" at that URL is
especially helpful, although it is sync'ed with the previous
-release (currently Burwell), which likely lags what's in master.
+release (Burwell), which lags what's in master.
Additional design notes, presentations, and other collateral are
-also available at http://xosproject.org.
+also available at http://xosproject.org and http://cord.onosproject.org.
The quickest way to get started is to look at the collection of
-"stock" configurations in *xos/configurations*. The *cord*
+canned configurations in *xos/configurations*. The *cord*
configuration in that directory corresponds to our current
CORD development environment, and the README you'll find there
will help you get started.
diff --git a/xos/configurations/cord/README-VTN.md b/xos/configurations/cord/README-VTN.md
index 348aca6..d585d5c 100644
--- a/xos/configurations/cord/README-VTN.md
+++ b/xos/configurations/cord/README-VTN.md
@@ -8,11 +8,14 @@
# set ONOS_VTN_HOSTNAME to the host where the VTN container was installed
ONOS_VTN_HOSTNAME="cp-2.smbaker-xos5.xos-pg0.clemson.cloudlab.us"
- apt-get install python-pip
+ apt-get -y install python-pip
pip install -U setuptools pip
git clone https://github.com/openstack/networking-onos.git
cd networking-onos
- sudo python setup.py install
+ python setup.py install
+ # the above fails the first time with an error about pbr.json
+ # I ran it again and it succeeded, but I am skeptical there's
+ # not still an issue lurking...
cat > /usr/local/etc/neutron/plugins/ml2/conf_onos.ini <<EOF
[ml2_onos]
url_path = http://$ONOS_VTN_HOSTNAME:8181/onos/vtn
@@ -39,4 +42,4 @@
VTN doesn't seem to like cloudlab's networks (flat-net-1, ext-net, etc). You might have to delete them all.
For development, I suggest using the bash configuration (remember to start the ONOS observer manually) so that
-there aren't a bunch of preexisting Neutron networks and nova instances to get in the way.
\ No newline at end of file
+there aren't a bunch of preexisting Neutron networks and nova instances to get in the way.
diff --git a/xos/configurations/devel/Makefile b/xos/configurations/devel/Makefile
index cc2c1d9..eb5802a 100644
--- a/xos/configurations/devel/Makefile
+++ b/xos/configurations/devel/Makefile
@@ -4,7 +4,7 @@
cloudlab: common_cloudlab xos
-devstack: common_devstack devstack_net_fix xos
+devstack: upgrade_pkgs common_devstack devstack_net_fix xos
xos:
rm ../../xos_configuration/*
@@ -31,5 +31,8 @@
sudo docker exec -t -i $(RUNNING_CONTAINER) bash
devstack_net_fix:
- sudo bash -c "iptables -C nova-compute-sg-fallback -j ACCEPT || iptables -I nova-compute-sg-fallback 1 -j ACCEPT"
- sudo bash -c "iptables -t nat -C POSTROUTING -o eth0 -s 172.24.0.0/16 -j MASQUERADE || iptables -t nat -I POSTROUTING 1 -o eth0 -s 172.24.0.0/16 -j MASQUERADE"
+ sudo ../devstack/net-fix.sh
+ sudo bash -c "source ../common/admin-openrc.sh; neutron subnet-update private-subnet --dns-nameservers list=true 8.8.8.8 8.8.4.4"
+
+upgrade_pkgs:
+ sudo pip install httpie --upgrade
diff --git a/xos/configurations/devel/README.md b/xos/configurations/devel/README.md
index 47cc6e7..54a51a8 100644
--- a/xos/configurations/devel/README.md
+++ b/xos/configurations/devel/README.md
@@ -48,11 +48,11 @@
~/xos/xos/configurations/devel$ make devstack
```
-Note that there are some issues with the networking setup in this configuration;
-you will be able to create VMs but they are not accessible on the network. However it is
-possible to log into a VM by first entering the appropriate network namespace.
-
## What you get
XOS will be set up with a single Deployment and Site. It should be in a state where
you can create slices and associate instances with them.
+
+Note that there are some issues with the networking setup in this configuration:
+VMs do not have a working DNS configuration in `/etc/resolv.conf`. If you fix this
+manually then everything should work.
diff --git a/xos/configurations/devstack/local.conf b/xos/configurations/devstack/local.conf
index 946d16e..dfcf07b 100644
--- a/xos/configurations/devstack/local.conf
+++ b/xos/configurations/devstack/local.conf
@@ -3,6 +3,7 @@
DOWNLOAD_DEFAULT_IMAGES=false
IMAGE_URLS="http://www.planet-lab.org/cord/trusty-server-multi-nic.img"
+LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver
disable_service n-net
enable_service q-svc
diff --git a/xos/configurations/devstack/net-fix.sh b/xos/configurations/devstack/net-fix.sh
new file mode 100755
index 0000000..5b486bd
--- /dev/null
+++ b/xos/configurations/devstack/net-fix.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+PRIMARY=$( route | grep default | awk '{print $NF}' )
+RULE="POSTROUTING -t nat -o $PRIMARY -s 172.24.4.0/24 -j MASQUERADE"
+
+iptables -C $RULE || iptables -A $RULE