diff --git a/pkg/util/openstack/openstack.go b/pkg/util/openstack/openstack.go index 7ff9dcc4d8..c69a382684 100644 --- a/pkg/util/openstack/openstack.go +++ b/pkg/util/openstack/openstack.go @@ -68,6 +68,10 @@ func NewOpenStackClient(providerID string, providerName string, authURL string, return cli, cli.fetchRegions() } +func (cli *SOpenStackClient) GetCloudRegionExternalIdPrefix() string { + return fmt.Sprintf("%s/%s/", CLOUD_PROVIDER_OPENSTACK, cli.providerID) +} + func (cli *SOpenStackClient) GetSubAccounts() ([]cloudprovider.SSubAccount, error) { subAccount := cloudprovider.SSubAccount{ Account: fmt.Sprintf("%s/%s", cli.project, cli.username), diff --git a/pkg/util/openstack/provider/provider.go b/pkg/util/openstack/provider/provider.go index 3527b4881f..151a7b1d84 100644 --- a/pkg/util/openstack/provider/provider.go +++ b/pkg/util/openstack/provider/provider.go @@ -180,6 +180,10 @@ func (self *SOpenStackProvider) GetBalance() (float64, string, error) { return 0.0, api.CLOUD_PROVIDER_HEALTH_UNKNOWN, cloudprovider.ErrNotSupported } +func (self *SOpenStackProvider) GetCloudRegionExternalIdPrefix() string { + return self.client.GetCloudRegionExternalIdPrefix() +} + func (self *SOpenStackProvider) GetIProjects() ([]cloudprovider.ICloudProject, error) { return self.client.GetIProjects() } diff --git a/pkg/util/openstack/region.go b/pkg/util/openstack/region.go index 1c92b1edea..2ae8a984e5 100644 --- a/pkg/util/openstack/region.go +++ b/pkg/util/openstack/region.go @@ -55,7 +55,7 @@ func (region *SRegion) GetName() string { } func (region *SRegion) GetGlobalId() string { - return fmt.Sprintf("%s/%s/%s", CLOUD_PROVIDER_OPENSTACK, region.Name, region.client.providerID) + return fmt.Sprintf("%s/%s/%s", CLOUD_PROVIDER_OPENSTACK, region.client.providerID, region.Name) } func (region *SRegion) IsEmulated() bool {