mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-08-30 17:13:08 +08:00
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:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user