Skip to content

Commit bfc2ab8

Browse files
[occm]: remove zones method (#2732)
Since InstancesV1 was removed, we need to clean up the zone methods. Signed-off-by: Serge Logvinov <[email protected]>
1 parent dc8e21c commit bfc2ab8

File tree

2 files changed

+2
-113
lines changed

2 files changed

+2
-113
lines changed

pkg/openstack/openstack.go

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@ import (
2525
"time"
2626

2727
"github.com/gophercloud/gophercloud/v2"
28-
"github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers"
2928
"github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/portsecurity"
3029
"github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/trunk_details"
3130
neutronports "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/ports"
3231
"github.com/spf13/pflag"
3332
gcfg "gopkg.in/gcfg.v1"
34-
"k8s.io/apimachinery/pkg/types"
3533
"k8s.io/client-go/kubernetes"
3634
cloudprovider "k8s.io/cloud-provider"
3735
"k8s.io/klog/v2"
@@ -45,7 +43,6 @@ import (
4543
"k8s.io/cloud-provider-openstack/pkg/client"
4644
"k8s.io/cloud-provider-openstack/pkg/metrics"
4745
"k8s.io/cloud-provider-openstack/pkg/util"
48-
"k8s.io/cloud-provider-openstack/pkg/util/errors"
4946
"k8s.io/cloud-provider-openstack/pkg/util/metadata"
5047
openstackutil "k8s.io/cloud-provider-openstack/pkg/util/openstack"
5148
)
@@ -379,77 +376,9 @@ func (os *OpenStack) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
379376
}
380377

381378
// Zones indicates that we support zones
379+
// DEPRECATED: Zones is deprecated in favor of retrieving zone/region information from InstancesV2.
382380
func (os *OpenStack) Zones() (cloudprovider.Zones, bool) {
383-
klog.V(1).Info("Claiming to support Zones")
384-
return os, true
385-
}
386-
387-
// GetZone returns the current zone
388-
func (os *OpenStack) GetZone(ctx context.Context) (cloudprovider.Zone, error) {
389-
md, err := metadata.Get(os.metadataOpts.SearchOrder)
390-
if err != nil {
391-
return cloudprovider.Zone{}, err
392-
}
393-
394-
zone := cloudprovider.Zone{
395-
FailureDomain: md.AvailabilityZone,
396-
Region: os.epOpts.Region,
397-
}
398-
klog.V(4).Infof("Current zone is %v", zone)
399-
return zone, nil
400-
}
401-
402-
// GetZoneByProviderID implements Zones.GetZoneByProviderID
403-
// This is particularly useful in external cloud providers where the kubelet
404-
// does not initialize node data.
405-
func (os *OpenStack) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) {
406-
instanceID, _, err := instanceIDFromProviderID(providerID)
407-
if err != nil {
408-
return cloudprovider.Zone{}, err
409-
}
410-
411-
compute, err := client.NewComputeV2(os.provider, os.epOpts)
412-
if err != nil {
413-
return cloudprovider.Zone{}, err
414-
}
415-
416-
mc := metrics.NewMetricContext("server", "get")
417-
server, err := servers.Get(ctx, compute, instanceID).Extract()
418-
if mc.ObserveRequest(err) != nil {
419-
return cloudprovider.Zone{}, err
420-
}
421-
422-
zone := cloudprovider.Zone{
423-
FailureDomain: server.AvailabilityZone,
424-
Region: os.epOpts.Region,
425-
}
426-
klog.V(4).Infof("The instance %s in zone %v", server.Name, zone)
427-
return zone, nil
428-
}
429-
430-
// GetZoneByNodeName implements Zones.GetZoneByNodeName
431-
// This is particularly useful in external cloud providers where the kubelet
432-
// does not initialize node data.
433-
func (os *OpenStack) GetZoneByNodeName(ctx context.Context, nodeName types.NodeName) (cloudprovider.Zone, error) {
434-
compute, err := client.NewComputeV2(os.provider, os.epOpts)
435-
if err != nil {
436-
return cloudprovider.Zone{}, err
437-
}
438-
439-
srv, err := getServerByName(ctx, compute, string(nodeName))
440-
if err != nil {
441-
if err == errors.ErrNotFound {
442-
return cloudprovider.Zone{}, cloudprovider.InstanceNotFound
443-
}
444-
return cloudprovider.Zone{}, err
445-
}
446-
447-
zone := cloudprovider.Zone{
448-
FailureDomain: srv.AvailabilityZone,
449-
Region: os.epOpts.Region,
450-
}
451-
klog.V(4).Infof("The instance %s in zone %v", srv.Name, zone)
452-
return zone, nil
381+
return nil, false
453382
}
454383

455384
// Routes initializes routes support

pkg/openstack/openstack_test.go

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
"testing"
2727
"time"
2828

29-
"github.com/gophercloud/gophercloud/v2"
3029
"github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers"
3130
neutronports "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/ports"
3231
"github.com/spf13/pflag"
@@ -938,45 +937,6 @@ func TestLoadBalancer(t *testing.T) {
938937
}
939938
}
940939

941-
var FakeMetadata = metadata.Metadata{
942-
UUID: "83679162-1378-4288-a2d4-70e13ec132aa",
943-
Name: "test",
944-
AvailabilityZone: "nova",
945-
}
946-
947-
func TestZones(t *testing.T) {
948-
metadata.Set(&FakeMetadata)
949-
defer metadata.Clear()
950-
951-
os := OpenStack{
952-
provider: &gophercloud.ProviderClient{
953-
IdentityBase: "http://auth.url/",
954-
},
955-
epOpts: &gophercloud.EndpointOpts{
956-
Region: "myRegion",
957-
Availability: gophercloud.AvailabilityPublic,
958-
},
959-
}
960-
961-
z, ok := os.Zones()
962-
if !ok {
963-
t.Fatalf("Zones() returned false")
964-
}
965-
966-
zone, err := z.GetZone(context.TODO())
967-
if err != nil {
968-
t.Fatalf("GetZone() returned error: %v", err)
969-
}
970-
971-
if zone.Region != "myRegion" {
972-
t.Fatalf("GetZone() returned wrong region (%s)", zone.Region)
973-
}
974-
975-
if zone.FailureDomain != "nova" {
976-
t.Fatalf("GetZone() returned wrong failure domain (%s)", zone.FailureDomain)
977-
}
978-
}
979-
980940
func TestInstanceIDFromProviderID(t *testing.T) {
981941
testCases := []struct {
982942
providerID string

0 commit comments

Comments
 (0)