Merge pull request #176 from humblec/new
Handle error and also correct error strings.
This commit is contained in:
commit
23794089df
7
OWNERS
7
OWNERS
|
|
@ -1,9 +1,10 @@
|
|||
# See the OWNERS docs at https://go.k8s.io/owners
|
||||
|
||||
approvers:
|
||||
- wongma7
|
||||
- ashishranjan738
|
||||
- humblec
|
||||
- jackielii
|
||||
- jsafrane
|
||||
- kmova
|
||||
- jackielii
|
||||
- ashishranjan738
|
||||
- yonatankahana
|
||||
- wongma7
|
||||
|
|
|
|||
|
|
@ -62,13 +62,14 @@ func (meta *pvcMetadata) stringParser(str string) string {
|
|||
for _, r := range result {
|
||||
switch r[2] {
|
||||
case "labels":
|
||||
str = strings.Replace(str, r[0], meta.labels[r[3]], -1)
|
||||
str = strings.ReplaceAll(str, r[0], meta.labels[r[3]])
|
||||
case "annotations":
|
||||
str = strings.Replace(str, r[0], meta.annotations[r[3]], -1)
|
||||
str = strings.ReplaceAll(str, r[0], meta.annotations[r[3]])
|
||||
default:
|
||||
str = strings.Replace(str, r[0], meta.data[r[1]], -1)
|
||||
str = strings.ReplaceAll(str, r[0], meta.data[r[1]])
|
||||
}
|
||||
}
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
|
|
@ -111,10 +112,13 @@ func (p *nfsProvisioner) Provision(ctx context.Context, options controller.Provi
|
|||
}
|
||||
|
||||
glog.V(4).Infof("creating path %s", fullPath)
|
||||
if err := os.MkdirAll(fullPath, 0777); err != nil {
|
||||
if err := os.MkdirAll(fullPath, 0o777); err != nil {
|
||||
return nil, controller.ProvisioningFinished, errors.New("unable to create directory to provision new pv: " + err.Error())
|
||||
}
|
||||
os.Chmod(fullPath, 0777)
|
||||
err := os.Chmod(fullPath, 0o777)
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
pv := &v1.PersistentVolume{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
|
|
@ -155,14 +159,12 @@ func (p *nfsProvisioner) Delete(ctx context.Context, volume *v1.PersistentVolume
|
|||
}
|
||||
|
||||
// Determine if the "onDelete" parameter exists.
|
||||
// If it exists and has a delete value, delete the directory.
|
||||
// If it exists and has a retain value, safe the directory.
|
||||
// If it exists and has a `delete` value, delete the directory.
|
||||
// If it exists and has a `retain` value, safe the directory.
|
||||
onDelete := storageClass.Parameters["onDelete"]
|
||||
switch onDelete {
|
||||
|
||||
case "delete":
|
||||
return os.RemoveAll(oldPath)
|
||||
|
||||
case "retain":
|
||||
return nil
|
||||
}
|
||||
|
|
@ -186,19 +188,20 @@ func (p *nfsProvisioner) Delete(ctx context.Context, volume *v1.PersistentVolume
|
|||
return os.Rename(oldPath, archivePath)
|
||||
}
|
||||
|
||||
// getClassForVolume returns StorageClass
|
||||
// getClassForVolume returns StorageClass.
|
||||
func (p *nfsProvisioner) getClassForVolume(ctx context.Context, pv *v1.PersistentVolume) (*storage.StorageClass, error) {
|
||||
if p.client == nil {
|
||||
return nil, fmt.Errorf("Cannot get kube client")
|
||||
return nil, fmt.Errorf("cannot get kube client")
|
||||
}
|
||||
className := helper.GetPersistentVolumeClass(pv)
|
||||
if className == "" {
|
||||
return nil, fmt.Errorf("Volume has no storage class")
|
||||
return nil, fmt.Errorf("volume has no storage class")
|
||||
}
|
||||
class, err := p.client.StorageV1().StorageClasses().Get(ctx, className, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return class, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue