def __provision_server_group(self): if not self.server_group_policy: print " server group disabled" return try: oaw.check_server_group_exists(self.nova_client, self.name, [self.server_group_policy]) except RuntimeError: print print "No server group for %s exists, creating one with '%s' policy" % (self.name, self.server_group_policy) sg_id = oaw.create_server_group(self.nova_client, self.name, [self.server_group_policy]) self.__prov_log("create", "server-group", sg_id, self.name)
def __provision_server_group(self): if not self.server_group_policy: print ' server group disabled' return try: oaw.check_server_group_exists(self.nova_client, self.name, [self.server_group_policy]) except RuntimeError: print print "No server group for %s exists, creating one with '%s' policy" % ( self.name, self.server_group_policy) sg_id = oaw.create_server_group(self.nova_client, self.name, [self.server_group_policy]) self.__prov_log('create', 'server-group', sg_id, self.name)
def __provision_vm(self, name, sec_groups, spec, network, server_group_name=None): image_id = oaw.check_image_exists(self.nova_client, spec['image']) flavor_id = oaw.check_flavor_exists(self.nova_client, spec['flavor']) server_group_id = None if self.server_group_policy and server_group_name: server_group_id = oaw.check_server_group_exists( self.nova_client, server_group_name, [self.server_group_policy]) # network needs more logic. We accept the magic keyword 'default', which will then try to use the tenant's # default network labeled after the tenant name if network == 'default': network = os.environ['OS_TENANT_NAME'] network_id = oaw.check_network_exists(self.nova_client, network) print ' creating %s: %s - %s' % (name, spec['image'], spec['flavor']) print " using network '%s'" % network instance_id = oaw.create_vm(self.nova_client, name, image_id, flavor_id, spec['sec-key'], sec_groups, network_id, server_group_id) print ' instance %s created' % instance_id self.__prov_log('create', 'vm', instance_id, name) instance = oaw.get_instance(self.nova_client, instance_id) return instance
def __provision_vm(self, name, sec_groups, spec, network, server_group_name=None): image_id = oaw.check_image_exists(self.nova_client, spec["image"]) flavor_id = oaw.check_flavor_exists(self.nova_client, spec["flavor"]) server_group_id = None if self.server_group_policy and server_group_name: server_group_id = oaw.check_server_group_exists( self.nova_client, server_group_name, [self.server_group_policy] ) # network needs more logic. We accept the magic keyword 'default', which will then try to use the tenant's # default network labeled after the tenant name if network == "default": network = os.environ["OS_TENANT_NAME"] network_id = oaw.check_network_exists(self.nova_client, network) print " creating %s: %s - %s" % (name, spec["image"], spec["flavor"]) print " using network '%s'" % network print " and key '%s'" % spec["sec-key"] instance_id = oaw.create_vm( self.nova_client, name, image_id, flavor_id, spec["sec-key"], sec_groups, network_id, server_group_id ) print " instance %s created" % instance_id self.__prov_log("create", "vm", instance_id, name) instance = oaw.get_instance(self.nova_client, instance_id) return instance