code: func (t *osCinderCSITranslator) TranslateInTreePVToCSI(pv *v1.PersistentVolume) (*v1.PersistentVolume, error) {
  	if pv == nil || pv.Spec.Cinder == nil {
  		return nil, fmt.Errorf("pv is nil or Cinder not defined on pv")
  	}
  
  	cinderSource := pv.Spec.Cinder
  
  	csiSource := &v1.CSIPersistentVolumeSource{
  		Driver:           CinderDriverName,
  		VolumeHandle:     cinderSource.VolumeID,
  		ReadOnly:         cinderSource.ReadOnly,
  		FSType:           cinderSource.FSType,
  		VolumeAttributes: map[string]string{},
  	}
  
  	pv.Spec.Cinder = nil
  	pv.Spec.CSI = csiSource
  	return pv, nil
  }
docs: // TranslateInTreePVToCSI takes a PV with Cinder set from in-tree
  // and converts the Cinder source to a CSIPersistentVolumeSource