Example #1
0
    def create_with_backup(self, master_id=None, check_admin=True):

        def _create_with_backup(self, backup, admin_user=None, admin_password=None):
            self.inst_id = utils.create_rds_byclient("HA", backup=backup.id, admin_user=admin_user,
                                                     admin_password=admin_password)
            utils.check_server_status(self.inst_id, expected_task=utils.tasks.InstanceTasks.NONE,
                                      type=DBInstanceType.MASTER,
                                      expected_svr_status=utils.ServiceStatuses.RUNNING,
                                      deleted=False, timeout=600)
            self.vip_id = utils.get_vip_id(self.inst_id)
            _inst = utils.get_builtin_instance(self.inst_id)
            self.group_id = _inst.group_id
            self.dbslave_id = utils.get_instance_id(self.group_id, DBInstanceType.STANDBY)
            LOG.info('master_id:%s slave_id:%s' % (self.inst_id, self.dbslave_id))
            self.validate()
            return self.inst_id

        if master_id is not None:
            self.inst_id = master_id
        else:
            self.inst_id = utils.get_instance_id_bytenant(DBInstanceType.MASTER)

        if self.inst_id is None:
            raise Exception("not found HA instance")
        #backup = utils.create_backup_byclient(self.inst_id, backup_type='snapshot')
        backup = utils.create_backup_byclient(self.inst_id)
        utils.check_backup_status(backup.id)
        utils.check_backup_path(backup.id)
        _create_with_backup(self, backup, admin_user=None, admin_password=None)
        if check_admin:
            old_adm_user_1 = utils.check_mysql_adminuser(self.inst_id)
            utils.check_admin(self, _create_with_backup, backup, old_adm_user_1)
Example #2
0
    def create_with_backup(self, inst_id=None, check_admin=True):

        def _create_with_backup(self, backup, admin_user=None, admin_password=None):
            self.inst_id = utils.create_rds_byclient("SG", backup=backup.id, admin_user=admin_user,
                                                     admin_password=admin_password)
            self.validate()
            return self.inst_id

        if inst_id != None:
            self.inst_id = inst_id
        else:
            self.inst_id = utils.get_instance_id_bytenant(DBInstanceType.SINGLE)
        backup = utils.create_backup_byclient(self.inst_id)
        utils.check_backup_status(backup.id)
        utils.check_backup_path(backup.id)
        _create_with_backup(self, backup, admin_user=None, admin_password=None)
        if check_admin:
            old_adm_user_1 = utils.check_mysql_adminuser(self.inst_id)
            utils.check_admin(self, _create_with_backup, backup, old_adm_user_1)