Example #1
0
 def _create_secgroup(self):
     security_group = SecurityGroup.create_for_instance(
         self.id, self.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, self.context)
     return [security_group["name"]]
Example #2
0
        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"]]

            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)

            return SimpleInstance(context, db_info, service_status)
Example #3
0
 def _create_secgroup(self):
     security_group = SecurityGroup.create_for_instance(self.id,
                                                        self.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,
             self.context
         )
     return [security_group["name"]]