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) {
return os, true
}
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) {
......
......@@ -232,6 +232,9 @@ func TestLoadBalancer(t *testing.T) {
}
func TestZones(t *testing.T) {
SetMetadataFixture(&FakeMetadata)
defer ClearMetadata()
os := OpenStack{
provider: &gophercloud.ProviderClient{
IdentityBase: "http://auth.url/",
......@@ -252,6 +255,10 @@ func TestZones(t *testing.T) {
if zone.Region != "myRegion" {
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) {
......
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