code: func (os *OpenStack) GetLabelsForVolume(ctx context.Context, pv *v1.PersistentVolume) (map[string]string, error) {
  	// Ignore if not Cinder.
  	if pv.Spec.Cinder == nil {
  		return nil, nil
  	}
  
  	// Ignore any volumes that are being provisioned
  	if pv.Spec.Cinder.VolumeID == cloudvolume.ProvisionedVolumeName {
  		return nil, nil
  	}
  
  	// Get Volume
  	volume, err := os.getVolume(pv.Spec.Cinder.VolumeID)
  	if err != nil {
  		return nil, err
  	}
  
  	// Construct Volume Labels
  	labels := make(map[string]string)
  	labels[v1.LabelZoneFailureDomain] = volume.AvailabilityZone
  	labels[v1.LabelZoneRegion] = os.region
  	klog.V(4).Infof("The Volume %s has labels %v", pv.Spec.Cinder.VolumeID, labels)
  
  	return labels, nil
  }
docs: // GetLabelsForVolume implements PVLabeler.GetLabelsForVolume