code: func (os *OpenStack) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) {
  	instanceID, err := instanceIDFromProviderID(providerID)
  	if err != nil {
  		return cloudprovider.Zone{}, err
  	}
  
  	compute, err := os.NewComputeV2()
  	if err != nil {
  		return cloudprovider.Zone{}, err
  	}
  
  	srv, err := servers.Get(compute, instanceID).Extract()
  	if err != nil {
  		return cloudprovider.Zone{}, err
  	}
  
  	zone := cloudprovider.Zone{
  		FailureDomain: srv.Metadata[availabilityZone],
  		Region:        os.region,
  	}
  	klog.V(4).Infof("The instance %s in zone %v", srv.Name, zone)
  	return zone, nil
  }
docs: // GetZoneByProviderID implements Zones.GetZoneByProviderID
  // This is particularly useful in external cloud providers where the kubelet
  // does not initialize node data.