func (controller *PersistentVolumeProvisionerController) newProvisioner(plugin volume.ProvisionableVolumePlugin, claim *api.PersistentVolumeClaim, pv *api.PersistentVolume) (volume.Provisioner, error) { tags := make(map[string]string) tags[cloudVolumeCreatedForClaimNamespaceTag] = claim.Namespace tags[cloudVolumeCreatedForClaimNameTag] = claim.Name // pv can be nil when the provisioner has not created the PV yet if pv != nil { tags[cloudVolumeCreatedForVolumeNameTag] = pv.Name } volumeOptions := volume.VolumeOptions{ Capacity: claim.Spec.Resources.Requests[api.ResourceName(api.ResourceStorage)], AccessModes: claim.Spec.AccessModes, PersistentVolumeReclaimPolicy: api.PersistentVolumeReclaimDelete, CloudTags: &tags, ClusterName: controller.clusterName, } if pv != nil { volumeOptions.PVName = pv.Name } provisioner, err := plugin.NewProvisioner(volumeOptions) return provisioner, err }
func (plugin *quobytePlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newProvisionerInternal(options) }
func (plugin *hostPathPlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if !plugin.config.ProvisioningEnabled { return nil, fmt.Errorf("Provisioning in volume plugin %q is disabled", plugin.GetPluginName()) } if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newProvisionerFunc(options, plugin.host) }
func (plugin *cinderPlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newProvisionerInternal(options, &CinderDiskUtil{}) }
func (plugin *awsElasticBlockStorePlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newProvisionerInternal(options, &AWSDiskUtil{}) }
func (plugin *hostPathPlugin) NewCreater(options volume.VolumeOptions) (volume.Creater, error) { if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newCreaterFunc(options, plugin.host) }
func (plugin *gcePersistentDiskPlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if len(options.AccessModes) == 0 { options.AccessModes = plugin.GetAccessModes() } return plugin.newProvisionerInternal(options, &GCEDiskUtil{}) }