if deployment_networks: fields['deploymentNetwork'] = deployment_networks[0]
nodes = _get_nodes(fields.get('node'))
if nodes: fields['node'] = nodes[0]
-
sliver = Sliver(**fields)
# create quantum sliver
- sliver = driver.spawn_instance(name=sliver.name,
+ instance = driver.spawn_instance(name=sliver.name,
key_name = sliver.key.name,
- flavor=sliver.flavor.name,
- image = sliver.image.name,
- hostname = sliver.node.hostname )
+ flavor_id = sliver.flavor.flavor_id,
+ image_id = sliver.image.image_id,
+ hostname = sliver.node.name )
- sliver.instance_id=sliver.id
+ sliver.instance_id=instance.id
sliver.save()
return sliver
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,