def _create_resources(): db_info = DBInstance.create(name=name, flavor_id=flavor_id, tenant_id=context.tenant, volume_size=volume_size, service_type=service_type, task_status=InstanceTasks.BUILDING) LOG.debug(_("Tenant %(tenant)s created new " "Trove instance %(db)s...") % {'tenant': context.tenant, 'db': db_info.id}) service_status = InstanceServiceStatus.create( instance_id=db_info.id, status=rd_instance.ServiceStatuses.NEW) if CONF.trove_dns_support: dns_client = create_dns_client(context) hostname = dns_client.determine_hostname(db_info.id) db_info.hostname = hostname db_info.save() root_password = None if CONF.root_on_create and not backup_id: root_password = uuidutils.generate_uuid() task_api.API(context).create_instance(db_info.id, name, flavor, image_id, databases, users, service_type, volume_size, backup_id, availability_zone, root_password) return SimpleInstance(context, db_info, service_status, root_password)
def update_datastore_version(datastore, name, image_id, packages, active): db_api.configure_db(CONF) datastore = Datastore.load(datastore) try: version = DBDatastoreVersion.find_by(name=name) except exception.ModelNotFoundError: # Create a new one version = DBDatastoreVersion() version.id = uuidutils.generate_uuid() version.name = name version.datastore_id = datastore.id version.image_id = image_id version.packages = packages version.active = active db_api.save(version)
def update_datastore(name, manager, default_version): db_api.configure_db(CONF) if default_version: version = DatastoreVersion.load(default_version) if not version.active: raise exception.DatastoreVersionInactive(version= version.name) try: datastore = DBDatastore.find_by(name=name) except exception.ModelNotFoundError: # Create a new one datastore = DBDatastore() datastore.id = uuidutils.generate_uuid() datastore.name = name datastore.manager = manager if default_version: datastore.default_version_id = version.id db_api.save(datastore)
def generate_request_id(): return 'req-%s' % uuidutils.generate_uuid()
def _create_resources(): security_groups = None if backup_id is not None: backup_info = Backup.get_by_id(context, backup_id) if backup_info.is_running: raise exception.BackupNotCompleteError(backup_id=backup_id) location = backup_info.location LOG.info(_("Checking if backup exist in '%s'") % location) if not Backup.check_object_exist(context, location): raise exception.BackupFileNotFound(location=location) db_info = DBInstance.create( name=name, flavor_id=flavor_id, tenant_id=context.tenant, volume_size=volume_size, service_type=service_type, task_status=InstanceTasks.BUILDING, ) LOG.debug( _("Tenant %(tenant)s created new " "Trove instance %(db)s...") % {"tenant": context.tenant, "db": db_info.id} ) service_status = InstanceServiceStatus.create( instance_id=db_info.id, status=rd_instance.ServiceStatuses.NEW ) if CONF.trove_dns_support: dns_client = create_dns_client(context) hostname = dns_client.determine_hostname(db_info.id) db_info.hostname = hostname db_info.save() if CONF.trove_security_groups_support: security_group = SecurityGroup.create_for_instance(db_info.id, context) if CONF.trove_security_groups_rules_support: SecurityGroupRule.create_sec_group_rule( security_group, CONF.trove_security_group_rule_protocol, CONF.trove_security_group_rule_port, CONF.trove_security_group_rule_port, CONF.trove_security_group_rule_cidr, context, ) security_groups = [security_group["name"]] root_password = None if CONF.root_on_create and not backup_id: root_password = uuidutils.generate_uuid() task_api.API(context).create_instance( db_info.id, name, flavor, image_id, databases, users, service_type, volume_size, security_groups, backup_id, availability_zone, root_password, ) return SimpleInstance(context, db_info, service_status, root_password)