fold Container object into Instance
diff --git a/xos/openstack_observer/steps/sync_container.py b/xos/openstack_observer/steps/sync_container.py
index 0f5dcc4..ae598b8 100644
--- a/xos/openstack_observer/steps/sync_container.py
+++ b/xos/openstack_observer/steps/sync_container.py
@@ -8,7 +8,7 @@
 from xos.config import Config
 from observer.syncstep import SyncStep
 from observer.ansible import run_template_ssh
-from core.models import Service, Slice, Container
+from core.models import Service, Slice, Instance
 from services.onos.models import ONOSService, ONOSApp
 from util.logger import Logger, logging
 
@@ -19,34 +19,28 @@
 logger = Logger(level=logging.INFO)
 
 class SyncContainer(SyncStep):
-    provides=[Container]
-    observes=Container
+    provides=[Instance]
+    observes=Instance
     requested_interval=0
     template_name = "sync_container.yaml"
 
     def __init__(self, *args, **kwargs):
         super(SyncContainer, self).__init__(*args, **kwargs)
 
-#    def fetch_pending(self, deleted):
-#        if (not deleted):
-#            objs = ONOSService.get_service_objects().filter(Q(enacted__lt=F('updated')) | Q(enacted=None),Q(lazy_blocked=False))
-#        else:
-#            objs = ONOSService.get_deleted_service_objects()
-#
-#        return objs
+    def fetch_pending(self, deletion=False):
+        objs = super(SyncContainer, self).fetch_pending(deletion)
+        objs = [x for x in objs if x.isolation=="container"]
+        return objs
 
     def get_node(self,o):
         return o.node
 
     def get_node_key(self, node):
         return "/root/setup/node_key"
-        #return "/opt/xos/node-key"
 
     def get_instance_port(self, container_port):
-        print container_port
-        print container_port.network
         for p in container_port.network.links.all():
-            if (p.instance) and (p.instance.node == container_port.container.node) and (p.mac):
+            if (p.instance) and (p.instance.kind=="vm") and (p.instance.node == container_port.container.node) and (p.mac):
                 return p
         return None
 
@@ -81,10 +75,10 @@
         fields["baremetal_ssh"] = True
         fields["instance_name"] = "rootcontext"
         fields["container_name"] = "%s-%s" % (o.slice.name, str(o.id))
-        fields["docker_image"] = o.docker_image
+        fields["docker_image"] = o.image.name
         fields["username"] = "root"
         fields["ports"] = self.get_ports(o)
-        fields["volumes"] = [x.strip() for x in o.volumes.split(",")]
+        fields["volumes"] = [] # XXX [x.strip() for x in o.volumes.split(",")]
         return fields
 
     def sync_fields(self, o, fields):
diff --git a/xos/openstack_observer/steps/sync_instances.py b/xos/openstack_observer/steps/sync_instances.py
index 1209448..1130c24 100644
--- a/xos/openstack_observer/steps/sync_instances.py
+++ b/xos/openstack_observer/steps/sync_instances.py
@@ -22,6 +22,11 @@
     observes=Instance
     playbook='sync_instances.yaml'
 
+    def fetch_pending(self, deletion=False):
+        objs = super(SyncInstances, self).fetch_pending(deletion)
+        objs = [x for x in objs if x.isolation=="vm"]
+        return objs
+
     def get_userdata(self, instance, pubkeys):
         userdata = '#cloud-config\n\nopencloud:\n   slicename: "%s"\n   hostname: "%s"\n   restapi_hostname: "%s"\n   restapi_port: "%s"\n' % (instance.slice.name, instance.node.name, RESTAPI_HOSTNAME, str(RESTAPI_PORT))
         userdata += 'ssh_authorized_keys:\n'
diff --git a/xos/openstack_observer/steps/sync_ports.py b/xos/openstack_observer/steps/sync_ports.py
index 7b20d29..178fa86 100644
--- a/xos/openstack_observer/steps/sync_ports.py
+++ b/xos/openstack_observer/steps/sync_ports.py
@@ -144,14 +144,11 @@
 
         # For ports that were created by the user, find that ones
         # that don't have neutron ports, and create them.
-        for port in Port.objects.filter(Q(port_id__isnull=True), Q(instance__isnull=False) | Q(container__isnull=False)):
+        for port in Port.objects.filter(Q(port_id__isnull=True), Q(instance__isnull=False) ):
             logger.info("XXX working on port %s" % port)
-            if port.instance:
-                controller = port.instance.node.site_deployment.controller
-                slice = port.instance.slice
-            else:
-                controller = port.container.node.site_deployment.controller
-                slice = port.container.slice
+            controller = port.instance.node.site_deployment.controller
+            slice = port.instance.slice
+
             if controller:
                 cn=port.network.controllernetworks.filter(controller=controller)
                 if not cn:
diff --git a/xos/openstack_observer/templates/start-container.sh.j2 b/xos/openstack_observer/templates/start-container.sh.j2
index dc3b7cb..86491eb 100644
--- a/xos/openstack_observer/templates/start-container.sh.j2
+++ b/xos/openstack_observer/templates/start-container.sh.j2
@@ -6,11 +6,13 @@
 CONTAINER={{ container_name }}
 IMAGE={{ docker_image }}
 
+{% if volumes %}
 {% for volume in volumes %}
 DEST_DIR=/var/container_volumes/$CONTAINER/{{ volume }}
 mkdir -p $DEST_DIR
 VOLUME_ARGS="$VOLUME_ARGS -v $DEST_DIR:{{ volume }}"
 {% endfor %}
+{% endif %}
 
 docker inspect $CONTAINER > /dev/null 2>&1
 if [ "$?" == 1 ]