Skip to content

Commit

Permalink
fix: 同步不需要判断账号是否有iam权限
Browse files Browse the repository at this point in the history
  • Loading branch information
Qu Xuan committed Jul 3, 2020
1 parent a54a9c0 commit acf641b
Show file tree
Hide file tree
Showing 10 changed files with 10 additions and 71 deletions.
25 changes: 10 additions & 15 deletions pkg/cloudid/models/cloudaccount.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/tristate"
"yunion.io/x/pkg/util/compare"
"yunion.io/x/pkg/utils"

Expand Down Expand Up @@ -66,10 +65,9 @@ type SCloudaccount struct {
db.SStandaloneResourceBase
db.SDomainizedResourceBase

Provider string `width:"64" charset:"ascii" list:"domain"`
Brand string `width:"64" charset:"utf8" nullable:"true" list:"domain"`
IamLoginUrl string `width:"512" charset:"ascii"`
IsSupportCloudId tristate.TriState `nullable:"false" get:"domain" list:"domain" default:"false"`
Provider string `width:"64" charset:"ascii" list:"domain"`
Brand string `width:"64" charset:"utf8" nullable:"true" list:"domain"`
IamLoginUrl string `width:"512" charset:"ascii"`
}

func (manager *SCloudaccountManager) GetICloudaccounts() ([]SCloudaccount, error) {
Expand Down Expand Up @@ -253,7 +251,6 @@ func (self *SCloudaccount) syncWithICloudaccount(ctx context.Context, userCred m
self.DomainId = account.DomainId
self.Brand = account.Brand
self.IamLoginUrl = account.IamLoginUrl
self.IsSupportCloudId = account.IsSupportCloudId
return nil
})
if err != nil {
Expand Down Expand Up @@ -492,16 +489,14 @@ func (self *SCloudaccount) SyncCloudusers(ctx context.Context, userCred mcclient
}

for i := 0; i < len(added); i++ {
if added[i].GetName() != cloudprovider.TEST_CLOUDID_USER_NAME {
user, err := ClouduserManager.newFromClouduser(ctx, userCred, added[i], self.Id, cloudproviderId)
if err != nil {
result.AddError(err)
continue
}
localUsers = append(localUsers, *user)
remoteUsers = append(remoteUsers, added[i])
result.Add()
user, err := ClouduserManager.newFromClouduser(ctx, userCred, added[i], self.Id, cloudproviderId)
if err != nil {
result.AddError(err)
continue
}
localUsers = append(localUsers, *user)
remoteUsers = append(remoteUsers, added[i])
result.Add()
}

return localUsers, remoteUsers, result
Expand Down
3 changes: 0 additions & 3 deletions pkg/cloudid/models/clouduser.go
Original file line number Diff line number Diff line change
Expand Up @@ -285,9 +285,6 @@ func (manager *SClouduserManager) ValidateCreateData(ctx context.Context, userCr
if !((account.DomainId == userCred.GetProjectDomainId() && db.IsDomainAllowCreate(userCred, manager)) || userCred.HasSystemAdminPrivilege()) {
return input, httperrors.NewForbiddenError("forbidden to create clouduser for cloudaccount %s", account.Name)
}
if !account.IsSupportCloudId.Bool() {
return input, httperrors.NewUnsupportOperationError("account %s not support create clouduser", account.Name)
}
ca = account
delegate, err := account.getCloudDelegate(ctx)
if err != nil {
Expand Down
25 changes: 0 additions & 25 deletions pkg/cloudprovider/cloudprovider.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ import (

const (
ErrNoSuchProvder = errors.Error("no such provider")

TEST_CLOUDID_USER_NAME = "cloud-id-user"
)

type SCloudaccountCredential struct {
Expand Down Expand Up @@ -208,7 +206,6 @@ type ICloudProvider interface {
GetSysInfo() (jsonutils.JSONObject, error)
GetVersion() string
GetIamLoginUrl() string
IsSupportCloudId() bool

GetIRegions() []ICloudRegion
GetIProjects() ([]ICloudProject, error)
Expand Down Expand Up @@ -346,28 +343,6 @@ func (self *SBaseProvider) GetIamLoginUrl() string {
return ""
}

func (self *SBaseProvider) IsSupportCloudId() bool {
return false
}

func IsSupportCloudId(provider ICloudProvider) bool {
defer func() {
iUser, err := provider.GetIClouduserByName(TEST_CLOUDID_USER_NAME)
if err != nil {
return
}
err = iUser.Delete()
if err != nil {
log.Errorf("failed to delete test user: %v", err)
}
}()
_, err := provider.CreateIClouduser(&SClouduserCreateConfig{Name: TEST_CLOUDID_USER_NAME})
if err != nil {
return false
}
return true
}

func (self *SBaseProvider) IsClouduserSupportPassword() bool {
return true
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/compute/models/cloudaccounts.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,6 @@ type SCloudaccount struct {

// 公有云子账号登录地址
IamLoginUrl string `width:"512" charset:"ascii" nullable:"false" list:"domain" update:"domain"`

// 是否支持创建公有云子账号
IsSupportCloudId tristate.TriState `nullable:"false" get:"domain" list:"domain" default:"false"`
}

func (self *SCloudaccount) GetCloudproviders() []SCloudprovider {
Expand Down Expand Up @@ -2294,7 +2291,6 @@ func (account *SCloudaccount) probeAccountStatus(ctx context.Context, userCred m
account.Version = version
account.Sysinfo = sysInfo
account.IamLoginUrl = iamLoginUrl
account.IsSupportCloudId = tristate.NewFromBool(manager.IsSupportCloudId())
return nil
})
if err != nil {
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/aliyun/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,6 @@ func (self *SAliyunProvider) GetIamLoginUrl() string {
return self.client.GetIamLoginUrl()
}

func (self *SAliyunProvider) IsSupportCloudId() bool {
return cloudprovider.IsSupportCloudId(self)
}

func (self *SAliyunProvider) CreateIClouduser(conf *cloudprovider.SClouduserCreateConfig) (cloudprovider.IClouduser, error) {
return self.client.CreateIClouduser(conf)
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/aws/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,6 @@ func (self *SAwsProvider) GetIamLoginUrl() string {
return self.client.GetIamLoginUrl()
}

func (self *SAwsProvider) IsSupportCloudId() bool {
return cloudprovider.IsSupportCloudId(self)
}

func (self *SAwsProvider) GetIRegions() []cloudprovider.ICloudRegion {
return self.client.GetIRegions()
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/azure/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,6 @@ func (self *SAzureProvider) GetIamLoginUrl() string {
return self.client.GetIamLoginUrl()
}

func (self *SAzureProvider) IsSupportCloudId() bool {
return cloudprovider.IsSupportCloudId(self)
}

func (self *SAzureProvider) GetIRegions() []cloudprovider.ICloudRegion {
return self.client.GetIRegions()
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/google/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,6 @@ func (self *SGoogleProvider) GetIamLoginUlr() string {
return "https://console.cloud.google.com"
}

func (self *SGoogleProvider) IsSupportCloudId() bool {
return self.client.IsSupportCloudId()
}

func (self *SGoogleProvider) GetIRegions() []cloudprovider.ICloudRegion {
return self.client.GetIRegions()
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/huawei/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,6 @@ func (self *SHuaweiProvider) GetIamLoginUrl() string {
return self.client.GetIamLoginUrl()
}

func (self *SHuaweiProvider) IsSupportCloudId() bool {
return cloudprovider.IsSupportCloudId(self)
}

func (self *SHuaweiProvider) GetCloudRegionExternalIdPrefix() string {
return self.client.GetCloudRegionExternalIdPrefix()
}
Expand Down
4 changes: 0 additions & 4 deletions pkg/multicloud/qcloud/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,6 @@ func (self *SQcloudProvider) GetIamLoginUrl() string {
return self.client.GetIamLoginUrl()
}

func (self *SQcloudProvider) IsSupportCloudId() bool {
return cloudprovider.IsSupportCloudId(self)
}

func (self *SQcloudProvider) GetIRegions() []cloudprovider.ICloudRegion {
return self.client.GetIRegions()
}
Expand Down

0 comments on commit acf641b

Please sign in to comment.