Merge pull request #10245 from ioito/automated-cherry-pick-of-#10244-upstream-release-3.7

Automated cherry pick of #10244: fix(region): fix rds tag set error
This commit is contained in:
Zexi Li
2021-02-22 21:05:59 +08:00
committed by GitHub
2 changed files with 19 additions and 11 deletions
+10 -11
View File
@@ -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
@@ -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)
})