Make the Quota creation optional
This commit is contained in:
@@ -365,6 +365,7 @@ func (provisioner *quobyteVolumeProvisioner) Provision() (*v1.PersistentVolume,
|
||||
}
|
||||
provisioner.config = "BASE"
|
||||
provisioner.tenant = "DEFAULT"
|
||||
createQuota := false
|
||||
|
||||
cfg, err := parseAPIConfig(provisioner.plugin, provisioner.options.Parameters)
|
||||
if err != nil {
|
||||
@@ -382,6 +383,8 @@ func (provisioner *quobyteVolumeProvisioner) Provision() (*v1.PersistentVolume,
|
||||
provisioner.tenant = v
|
||||
case "quobyteconfig":
|
||||
provisioner.config = v
|
||||
case "createquota":
|
||||
createQuota = gostrings.ToLower(v) == "true"
|
||||
case "adminsecretname",
|
||||
"adminsecretnamespace",
|
||||
"quobyteapiserver":
|
||||
@@ -402,7 +405,7 @@ func (provisioner *quobyteVolumeProvisioner) Provision() (*v1.PersistentVolume,
|
||||
config: cfg,
|
||||
}
|
||||
|
||||
vol, sizeGB, err := manager.createVolume(provisioner)
|
||||
vol, sizeGB, err := manager.createVolume(provisioner, createQuota)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ type quobyteVolumeManager struct {
|
||||
config *quobyteAPIConfig
|
||||
}
|
||||
|
||||
func (manager *quobyteVolumeManager) createVolume(provisioner *quobyteVolumeProvisioner) (quobyte *v1.QuobyteVolumeSource, size int, err error) {
|
||||
func (manager *quobyteVolumeManager) createVolume(provisioner *quobyteVolumeProvisioner, createQuota bool) (quobyte *v1.QuobyteVolumeSource, size int, err error) {
|
||||
capacity := provisioner.options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)]
|
||||
volumeSize := int(volume.RoundUpSize(capacity.Value(), 1024*1024*1024))
|
||||
// Quobyte has the concept of Volumes which doen't have a specific size (they can grow unlimited)
|
||||
@@ -51,10 +51,12 @@ func (manager *quobyteVolumeManager) createVolume(provisioner *quobyteVolumeProv
|
||||
return &v1.QuobyteVolumeSource{}, volumeSize, err
|
||||
}
|
||||
|
||||
// Set Quoate for Volume with specified byte size
|
||||
err = quobyteClient.SetVolumeQuota(volumeUUID, capacity.Value())
|
||||
if err != nil {
|
||||
return &v1.QuobyteVolumeSource{}, volumeSize, err
|
||||
// Set Quota for Volume with specified byte size
|
||||
if createQuota {
|
||||
err = quobyteClient.SetVolumeQuota(volumeUUID, uint64(capacity.Value()))
|
||||
if err != nil {
|
||||
return &v1.QuobyteVolumeSource{}, volumeSize, err
|
||||
}
|
||||
}
|
||||
|
||||
glog.V(4).Infof("Created Quobyte volume %s", provisioner.volume)
|
||||
|
||||
Reference in New Issue
Block a user