Merge branch 'master' of github.com:open-cloud/xos
diff --git a/xos/cord/models.py b/xos/cord/models.py
index cab7909..e5cd4c3 100644
--- a/xos/cord/models.py
+++ b/xos/cord/models.py
@@ -246,7 +246,7 @@
 
     @property
     def image(self):
-        LOOK_FOR_IMAGES=["ubuntu-vcpe2",        # ONOS demo machine -- preferred vcpe image
+        LOOK_FOR_IMAGES=["ubuntu-vcpe3",        # ONOS demo machine -- preferred vcpe image
                          "Ubuntu 14.04 LTS",    # portal
                          "Ubuntu-14.04-LTS",    # ONOS demo machine
                         ]
diff --git a/xos/observers/vcpe/steps/sync_vcpetenant.yaml b/xos/observers/vcpe/steps/sync_vcpetenant.yaml
index 7d9689c..4d26f01 100644
--- a/xos/observers/vcpe/steps/sync_vcpetenant.yaml
+++ b/xos/observers/vcpe/steps/sync_vcpetenant.yaml
@@ -56,10 +56,23 @@
 
   - name: make sure /etc/dnsmasq.d exists
     file: path=/etc/dnsmasq.d state=directory owner=root group=root
+
+  - name: Disable resolvconf updates (to avoid overwriting /etc/resolv.conf on host)
+    shell: service resolvconf disable-updates
+
+  - name: vCPE upstart
+    copy: src=/opt/xos/observers/vcpe/files/vcpe.conf dest=/etc/init/vcpe.conf
 {% endif %}
 
+  - name: vCPE startup script
+    template: src=/opt/xos/observers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe.sh mode=0755
+    notify:
+    - restart vcpe
+
   - name: dnsmasq config
     template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/dnsmasq.d/servers.conf owner=root group=root
+    notify:
+    - reload dnsmasq config
 
 # These are samples, not necessary for correct function of demo
 
@@ -69,17 +82,12 @@
 #  - name: firewall info
 #    template: src=/opt/xos/observers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root
 
-  - name: Disable resolvconf updates (to avoid overwriting /etc/resolv.conf on host)
-    shell: service resolvconf disable-updates
-
-  - name: vCPE startup script
-    template: src=/opt/xos/observers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe.sh mode=0755
-
-  - name: vCPE upstart
-    copy: src=/opt/xos/observers/vcpe/files/vcpe.conf dest=/etc/init/vcpe.conf
-
-  - name: Make sure vCPE service not running (reload configuration)
-    service: name=vcpe state=stopped
-
-  - name: Start vCPE service
+  - name: Make sure vCPE service is running 
     service: name=vcpe state=started
+
+  handlers:
+  - name: reload dnsmasq config
+    shell: docker exec -t -i vcpe killall -HUP /usr/sbin/dnsmasq
+
+  - name: restart vcpe
+    shell: service vcpe stop; sleep 1; service vcpe start
diff --git a/xos/openstack_observer/ansible.py b/xos/openstack_observer/ansible.py
old mode 100644
new mode 100755
index 5b6bd1d..b53dd98
--- a/xos/openstack_observer/ansible.py
+++ b/xos/openstack_observer/ansible.py
@@ -155,6 +155,7 @@
     f.write("[ssh_connection]\n")
     f.write('ssh_args = -o "%s" -o StrictHostKeyChecking=no\n' % proxy_command)
     f.write('scp_if_ssh = True\n')
+    f.write('pipelining = True\n')
     f.close()
 
     f = open(hosts_pathname, "w")