no need to look up flavor and image by name. Just pass the id to servers.create()
diff --git a/plstackapi/openstack/driver.py b/plstackapi/openstack/driver.py
index fe93fbc..03d4ed6 100644
--- a/plstackapi/openstack/driver.py
+++ b/plstackapi/openstack/driver.py
@@ -170,26 +170,22 @@
         for key in keys:
             self.shell.nova.keypairs.delete(key) 
 
-    def spawn_instance(self, name, key_name=None, hostname=None, flavor=None, image=None, security_group=None, pubkeys=[]):
-        if not flavor:
-            flavor = self.config.nova_default_flavor
-        if not image:
-            image = self.config.nova_default_imave
+    def spawn_instance(self, name, key_name=None, hostname=None, flavor_id=None, image_id=None, security_group=None, pubkeys=[]):
+        #if not flavor_id:
+        #    flavor = self.config.nova_default_flavor
+        #if not image:
+        #    image = self.config.nova_default_imave
         if not security_group:
             security_group = self.config.nova_default_security_group 
 
         authorized_keys = "\n".join(pubkeys)
         files = {'/root/.ssh/authorized_keys': authorized_keys}
        
-        flavor_id = self.shell.nova.flavors.find(name=flavor)
-        images = self.shell.glance.get_images(name=image)
-        if not images:
-            raise Exception, "Image not found: " + image  
-        image_id = images[0]['id']
         hints = {}
         if hostname:
             #hints['force_hosts']= hostname
-            hints['availability-zone'] = 'nova:%s' % hostname
+            #hints['availability-zone'] = 'nova:%s' % hostname
+            pass
         server = self.shell.nova.servers.create(
                                             name=name,
                                             key_name = key_name,