Commit ab5250ef authored by Angus Lees's avatar Angus Lees

openstack: Set GetZone FailureDomain to nova AZ

Set FailureDomain in GetZone result to value of availability_zone in local instance metadata.
parent 8167df29
...@@ -395,9 +395,18 @@ func (os *OpenStack) Zones() (cloudprovider.Zones, bool) { ...@@ -395,9 +395,18 @@ func (os *OpenStack) Zones() (cloudprovider.Zones, bool) {
return os, true return os, true
} }
func (os *OpenStack) GetZone() (cloudprovider.Zone, error) { func (os *OpenStack) GetZone() (cloudprovider.Zone, error) {
glog.V(1).Infof("Current zone is %v", os.region) md, err := getMetadata()
if err != nil {
return cloudprovider.Zone{}, err
}
zone := cloudprovider.Zone{
FailureDomain: md.AvailabilityZone,
Region: os.region,
}
glog.V(1).Infof("Current zone is %v", zone)
return cloudprovider.Zone{Region: os.region}, nil return zone, nil
} }
func (os *OpenStack) Routes() (cloudprovider.Routes, bool) { func (os *OpenStack) Routes() (cloudprovider.Routes, bool) {
......
...@@ -232,6 +232,9 @@ func TestLoadBalancer(t *testing.T) { ...@@ -232,6 +232,9 @@ func TestLoadBalancer(t *testing.T) {
} }
func TestZones(t *testing.T) { func TestZones(t *testing.T) {
SetMetadataFixture(&FakeMetadata)
defer ClearMetadata()
os := OpenStack{ os := OpenStack{
provider: &gophercloud.ProviderClient{ provider: &gophercloud.ProviderClient{
IdentityBase: "http://auth.url/", IdentityBase: "http://auth.url/",
...@@ -252,6 +255,10 @@ func TestZones(t *testing.T) { ...@@ -252,6 +255,10 @@ func TestZones(t *testing.T) {
if zone.Region != "myRegion" { if zone.Region != "myRegion" {
t.Fatalf("GetZone() returned wrong region (%s)", zone.Region) t.Fatalf("GetZone() returned wrong region (%s)", zone.Region)
} }
if zone.FailureDomain != "nova" {
t.Fatalf("GetZone() returned wrong failure domain (%s)", zone.FailureDomain)
}
} }
func TestVolumes(t *testing.T) { func TestVolumes(t *testing.T) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment