Merge pull request #11922 from ioito/automated-cherry-pick-of-#11921-upstream-release-3.7

Automated cherry pick of #11921: fix(cloudid): azure attach enabled subscription policy
This commit is contained in:
Zexi Li
2021-08-16 21:43:04 +08:00
committed by GitHub
2 changed files with 5 additions and 2 deletions
+2 -2
View File
@@ -597,7 +597,7 @@ func (self *SCloudaccount) getCloudusers() ([]SClouduser, error) {
func (self *SCloudaccount) GetCloudusers() ([]SClouduser, error) {
users := []SClouduser{}
q := ClouduserManager.Query().Equals("status", api.CLOUD_USER_STATUS_AVAILABLE).Equals("cloudaccount_id", self.Id)
q := ClouduserManager.Query().Equals("cloudaccount_id", self.Id)
err := db.FetchModelObjects(ClouduserManager, q, &users)
if err != nil {
return nil, errors.Wrap(err, "db.FetchModelObjects")
@@ -612,7 +612,7 @@ func (self *SCloudaccount) SyncCloudusers(ctx context.Context, userCred mcclient
result := compare.SyncResult{}
dbUsers, err := self.GetCloudusers()
if err != nil {
result.Error(errors.Wrap(err, "GetCloudusersByProviderId"))
result.Error(errors.Wrap(err, "GetCloudusers"))
return nil, nil, result
}
+3
View File
@@ -144,6 +144,9 @@ func (cli *SAzureClient) AssignPolicy(objectId, roleName, subscriptionId string)
resource := fmt.Sprintf("subscriptions/%s/providers/Microsoft.Authorization/roleAssignments/%s", subscriptionId, stringutils.UUID4())
_, err = cli.put(resource, jsonutils.Marshal(body))
if err != nil {
if e, ok := err.(*AzureResponseError); ok && e.AzureError.Code == "ReadOnlyDisabledSubscription" || e.AzureError.Code == "PrincipalNotFound" {
continue
}
return errors.Wrapf(err, "AssignPolicy %s for subscription %s", roleName, subscriptionId)
}
}