diff --git a/pkg/compute/regiondrivers/managedvirtual.go b/pkg/compute/regiondrivers/managedvirtual.go index 695ba2dbbb..5f5b5e3b67 100644 --- a/pkg/compute/regiondrivers/managedvirtual.go +++ b/pkg/compute/regiondrivers/managedvirtual.go @@ -1859,7 +1859,7 @@ func (self *SManagedVirtualizationRegionDriver) RequestCreateDBInstance(ctx cont return nil, errors.Wrapf(err, "db.SetExternalId") } - err = cloudprovider.WaitStatus(iRds, api.DBINSTANCE_RUNNING, time.Second*5, time.Hour*1) + err = cloudprovider.WaitStatus(iRds, api.DBINSTANCE_RUNNING, time.Second*10, time.Hour*1) if err != nil { return nil, errors.Wrapf(err, "cloudprovider.WaitStatus runing") } @@ -2730,21 +2730,20 @@ func (self *SManagedVirtualizationRegionDriver) RequestRemoteUpdateDBInstance(ct return nil, errors.Wrap(err, "instance.GetIDBInstance") } oldTags, err := iRds.GetTags() - if err != nil { + if err != nil && errors.Cause(err) != cloudprovider.ErrNotFound { return nil, errors.Wrap(err, "iRds.GetTags()") } tags, err := instance.GetAllUserMetadata() - tagsUpdateInfo := cloudprovider.TagsUpdateInfo{OldTags: oldTags, NewTags: tags} if err != nil { - log.Errorf("GetAllUserMetadata fail %s", err) - } else { - err := iRds.SetTags(tags, replaceTags) - if err != nil { - logclient.AddActionLogWithStartable(task, instance, logclient.ACT_UPDATE_TAGS, tagsUpdateInfo, userCred, false) - return nil, errors.Wrap(err, "iRds.SetMetadata") - } - logclient.AddActionLogWithStartable(task, instance, logclient.ACT_UPDATE_TAGS, tagsUpdateInfo, userCred, true) + return nil, errors.Wrapf(err, "instance.GetAllUserMetadata") } + tagsUpdateInfo := cloudprovider.TagsUpdateInfo{OldTags: oldTags, NewTags: tags} + err = iRds.SetTags(tags, replaceTags) + if err != nil { + logclient.AddActionLogWithStartable(task, instance, logclient.ACT_UPDATE_TAGS, tagsUpdateInfo, userCred, false) + return nil, errors.Wrap(err, "iRds.SetMetadata") + } + logclient.AddActionLogWithStartable(task, instance, logclient.ACT_UPDATE_TAGS, tagsUpdateInfo, userCred, true) return nil, nil }) return nil diff --git a/pkg/multicloud/aliyun/shell/dbinstance.go b/pkg/multicloud/aliyun/shell/dbinstance.go index b22bd48fc2..688380143d 100644 --- a/pkg/multicloud/aliyun/shell/dbinstance.go +++ b/pkg/multicloud/aliyun/shell/dbinstance.go @@ -49,6 +49,15 @@ func init() { return nil }) + shellutils.R(&DBInstanceIdOptions{}, "dbinstance-secgroup-list", "List dbintance secgroup", func(cli *aliyun.SRegion, args *DBInstanceIdOptions) error { + secgroupIds, err := cli.GetRdsSecgroupIds(args.ID) + if err != nil { + return err + } + fmt.Println(secgroupIds) + return nil + }) + shellutils.R(&DBInstanceIdOptions{}, "dbinstance-open-public-connection", "Open dbintance public connection", func(cli *aliyun.SRegion, args *DBInstanceIdOptions) error { return cli.OpenPublicConnection(args.ID) })