Skip to content

Commit ccee16f

Browse files
authored
return ResourceExhausted if provisioner pod fails (#10)
* return ResourceExhausted if provisioner pod fails * return ResourceExhausted so the requesting pod can be rescheduled to anonther node * update external csi driver images * allow underscore in branch names
1 parent 919c7ad commit ccee16f

File tree

10 files changed

+18
-9
lines changed

10 files changed

+18
-9
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
GO111MODULE := on
2-
DOCKER_TAG := $(or ${GITHUB_TAG_NAME}, latest)
2+
DOCKER_TAG := $(or $(subst _,-,$(GITHUB_TAG_NAME)), latest)
33

44
all: provisioner lvmplugin
55

helm/csi-driver-lvm/templates/csi-lvm-attacher.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-attacher
4646
containers:
4747
- name: csi-attacher
48-
image: quay.io/k8scsi/csi-attacher:v2.1.0
48+
image: quay.io/k8scsi/csi-attacher:v2.2.0
4949
args:
5050
- --v=5
5151
- --csi-address=/csi/csi.sock

helm/csi-driver-lvm/templates/csi-lvm-plugin-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ spec:
4040
fieldRef:
4141
apiVersion: v1
4242
fieldPath: spec.nodeName
43-
image: quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
43+
image: quay.io/k8scsi/csi-node-driver-registrar:v1.3.0
4444
imagePullPolicy: IfNotPresent
4545
lifecycle:
4646
preStop:

helm/csi-driver-lvm/templates/csi-lvm-provisioner.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-provisioner
4646
containers:
4747
- name: csi-provisioner
48-
image: quay.io/k8scsi/csi-provisioner:v1.5.0
48+
image: quay.io/k8scsi/csi-provisioner:v1.6.0
4949
args:
5050
- -v=5
5151
- --csi-address=/csi/csi.sock

helm/csi-driver-lvm/templates/csi-lvm-resizer.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-resizer
4646
containers:
4747
- name: csi-resizer
48-
image: quay.io/k8scsi/csi-resizer:v0.4.0
48+
image: quay.io/k8scsi/csi-resizer:v0.5.0
4949
args:
5050
- -v=5
5151
- -csi-address=/csi/csi.sock

pkg/lvm/lvm.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ import (
2727
"time"
2828

2929
"github.com/google/lvmd/commands"
30+
"google.golang.org/grpc/codes"
31+
"google.golang.org/grpc/status"
3032

3133
v1 "k8s.io/api/core/v1"
3234
k8serror "k8s.io/apimachinery/pkg/api/errors"
@@ -389,6 +391,13 @@ func createProvisionerPod(va volumeAction) (err error) {
389391
retrySeconds := 60
390392
for i := 0; i < retrySeconds; i++ {
391393
pod, err := va.kubeClient.CoreV1().Pods(va.namespace).Get(provisionerPod.Name, metav1.GetOptions{})
394+
if pod.Status.Phase == v1.PodFailed {
395+
// pod terminated in time, but with failure
396+
// return ResourceExhausted so the requesting pod can be rescheduled to anonther node
397+
// see https://github.com/kubernetes-csi/external-provisioner/pull/405
398+
klog.Info("provisioner pod terminated with failure")
399+
return status.Error(codes.ResourceExhausted, "volume creation failed")
400+
}
392401
if err != nil {
393402
klog.Errorf("error reading provisioner pod:%v", err)
394403
} else if pod.Status.Phase == v1.PodSucceeded {

tests/files/helm/csi-driver-lvm/templates/csi-lvm-attacher.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-attacher
4646
containers:
4747
- name: csi-attacher
48-
image: quay.io/k8scsi/csi-attacher:v2.1.0
48+
image: quay.io/k8scsi/csi-attacher:v2.2.0
4949
args:
5050
- --v=5
5151
- --csi-address=/csi/csi.sock

tests/files/helm/csi-driver-lvm/templates/csi-lvm-plugin-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ spec:
4040
fieldRef:
4141
apiVersion: v1
4242
fieldPath: spec.nodeName
43-
image: quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
43+
image: quay.io/k8scsi/csi-node-driver-registrar:v1.3.0
4444
imagePullPolicy: IfNotPresent
4545
lifecycle:
4646
preStop:

tests/files/helm/csi-driver-lvm/templates/csi-lvm-provisioner.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-provisioner
4646
containers:
4747
- name: csi-provisioner
48-
image: quay.io/k8scsi/csi-provisioner:v1.5.0
48+
image: quay.io/k8scsi/csi-provisioner:v1.6.0
4949
args:
5050
- -v=5
5151
- --csi-address=/csi/csi.sock

tests/files/helm/csi-driver-lvm/templates/csi-lvm-resizer.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
serviceAccountName: csi-resizer
4646
containers:
4747
- name: csi-resizer
48-
image: quay.io/k8scsi/csi-resizer:v0.4.0
48+
image: quay.io/k8scsi/csi-resizer:v0.5.0
4949
args:
5050
- -v=5
5151
- -csi-address=/csi/csi.sock

0 commit comments

Comments
 (0)