Merge pull request #10965 from tb365/automated-cherry-pick-of-#10964-upstream-release-3.7

Automated cherry pick of #10964: Bugfix/tb bugfix 042801
This commit is contained in:
Zexi Li
2021-04-29 09:46:48 +08:00
committed by GitHub
3 changed files with 35 additions and 0 deletions
+11
View File
@@ -88,6 +88,17 @@ type SCapabilities struct {
InstanceCapabilities []cloudprovider.SInstanceCapability
}
func GetDiskCapabilities(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, region *SCloudregion, zone *SZone) (SCapabilities, error) {
capa := SCapabilities{}
s1, d1, s2, s3, d2, d3 := getStorageTypes(region, zone, "")
capa.StorageTypes, capa.DataStorageTypes = s1, d1
capa.StorageTypes2, capa.StorageTypes3 = s2, s3
capa.DataStorageTypes2, capa.DataStorageTypes3 = d2, d3
capa.MinDataDiskCount = getMinDataDiskCount(region, zone)
capa.MaxDataDiskCount = getMaxDataDiskCount(region, zone)
return capa, nil
}
func GetCapabilities(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, region *SCloudregion, zone *SZone) (SCapabilities, error) {
capa := SCapabilities{}
var ownerId mcclient.IIdentityProvider
+12
View File
@@ -924,6 +924,18 @@ func (self *SCloudregion) GetDetailsCapability(ctx context.Context, userCred mcc
return jsonutils.Marshal(&capa), nil
}
func (self *SCloudregion) AllowGetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
return true
}
func (self *SCloudregion) GetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) {
capa, err := GetDiskCapabilities(ctx, userCred, query, self, nil)
if err != nil {
return nil, err
}
return jsonutils.Marshal(&capa), nil
}
func (self *SCloudregion) GetNetworkCount() (int, error) {
return getNetworkCount(nil, rbacutils.ScopeSystem, self, nil)
}
+12
View File
@@ -674,6 +674,18 @@ func (self *SZone) GetDetailsCapability(ctx context.Context, userCred mcclient.T
return jsonutils.Marshal(&capa), nil
}
func (self *SZone) AllowGetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
return true
}
func (self *SZone) GetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) {
capa, err := GetDiskCapabilities(ctx, userCred, query, nil, self)
if err != nil {
return nil, err
}
return jsonutils.Marshal(&capa), nil
}
func (self *SZone) isManaged() bool {
region := self.GetRegion()
if region != nil && len(region.ExternalId) == 0 {