diff --git a/deploy/kubernetes/base/controller.yaml b/deploy/kubernetes/base/controller.yaml index 876966a94..aad15d236 100644 --- a/deploy/kubernetes/base/controller.yaml +++ b/deploy/kubernetes/base/controller.yaml @@ -16,7 +16,7 @@ spec: serviceAccountName: csi-controller-sa containers: - name: csi-provisioner - image: MUSTPATCHWITHKUSTOMIZE + image: REPLACEME/csi-provisioner args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -24,7 +24,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-attacher - image: MUSTPATCHWITHKUSTOMIZE + image: REPLACEME/csi-attacher args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -32,7 +32,7 @@ spec: - name: socket-dir mountPath: /csi - name: gce-pd-driver - image: MUSTPATCHWITHKUSTOMIZE + image: REPLACEME/gcp-compute-persistent-disk-csi-driver args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" @@ -51,3 +51,5 @@ spec: - name: cloud-sa-volume secret: secretName: cloud-sa + # This is needed due to https://github.com/kubernetes-sigs/kustomize/issues/504 + volumeClaimTemplates: [] diff --git a/deploy/kubernetes/base/node.yaml b/deploy/kubernetes/base/node.yaml index 5195b34f7..5537c978e 100644 --- a/deploy/kubernetes/base/node.yaml +++ b/deploy/kubernetes/base/node.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: csi-node-sa containers: - name: csi-driver-registrar - image: MUSTPATCHWITHKUSTOMIZE + image: REPLACEME/csi-node-driver-registrar args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -37,7 +37,7 @@ spec: - name: gce-pd-driver securityContext: privileged: true - image: MUSTPATCHWITHKUSTOMIZE + image: REPLACEME/gcp-compute-persistent-disk-csi-driver args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" diff --git a/deploy/kubernetes/base/setup-cluster.yaml b/deploy/kubernetes/base/setup-cluster.yaml index 6f6604b94..2f7f5fe87 100644 --- a/deploy/kubernetes/base/setup-cluster.yaml +++ b/deploy/kubernetes/base/setup-cluster.yaml @@ -45,9 +45,6 @@ apiVersion: rbac.authorization.k8s.io/v1 metadata: name: external-provisioner-role rules: - - apiGroups: [""] - resources: ["secrets"] - verbs: ["get", "list"] - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "create", "delete"] @@ -60,12 +57,6 @@ rules: - apiGroups: [""] resources: ["events"] verbs: ["list", "watch", "create", "update", "patch"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshots"] - verbs: ["get", "list"] - - apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotcontents"] - verbs: ["get", "list"] --- @@ -116,47 +107,3 @@ roleRef: kind: ClusterRole name: external-attacher-role apiGroup: rbac.authorization.k8s.io - ---- -# xref: https://github.com/kubernetes-csi/external-snapshotter/blob/master/deploy/kubernetes/rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: external-snapshotter-role -rules: -- apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotclasses"] - verbs: ["get", "list", "watch"] -- apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshotcontents"] - verbs: ["create", "get", "list", "watch", "update", "delete"] -- apiGroups: ["snapshot.storage.k8s.io"] - resources: ["volumesnapshots"] - verbs: ["get", "list", "watch", "update"] -- apiGroups: ["apiextensions.k8s.io"] - resources: ["customresourcedefinitions"] - verbs: ["create", "list", "watch", "delete"] -- apiGroups: [""] - resources: ["events"] - verbs: ["list", "watch", "create", "update", "patch"] -- apiGroups: ["storage.k8s.io"] - resources: ["storageclasses"] - verbs: ["watch", "get", "list"] -- apiGroups: ["admissionregistration.k8s.io"] - resources: ["mutatingwebhookconfigurations"] - verbs: ["create"] - ---- - -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-controller-snapshotter-binding -subjects: - - kind: ServiceAccount - name: csi-controller-sa - namespace: default -roleRef: - kind: ClusterRole - name: external-snapshotter-role - apiGroup: rbac.authorization.k8s.io \ No newline at end of file diff --git a/deploy/kubernetes/install-kustomize.sh b/deploy/kubernetes/install-kustomize.sh index d66c359dd..d8cc9207d 100755 --- a/deploy/kubernetes/install-kustomize.sh +++ b/deploy/kubernetes/install-kustomize.sh @@ -17,7 +17,7 @@ if [ ! -f "${KUSTOMIZE_PATH}" ]; then echo "Installing kustomize in ${KUSTOMIZE_PATH}" opsys=linux # or darwin, or windows - curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/tags/v1.0.8 |\ + curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/tags/v2.0.3 |\ grep browser_download |\ grep $opsys |\ cut -d '"' -f 4 |\ diff --git a/deploy/kubernetes/overlays/alpha/WARNING.md b/deploy/kubernetes/overlays/alpha/WARNING.md new file mode 100644 index 000000000..947a35cd9 --- /dev/null +++ b/deploy/kubernetes/overlays/alpha/WARNING.md @@ -0,0 +1,3 @@ +WARNING: DO NOT USE THE ALPHA VERSION OF THE DRIVER FOR PRODUCTION + +Alpha features are unsupported and may be unstable and have breaking changes across releases. diff --git a/deploy/kubernetes/overlays/alpha/controller_add_snapshotter.yaml b/deploy/kubernetes/overlays/alpha/controller_add_snapshotter.yaml new file mode 100644 index 000000000..42f267e70 --- /dev/null +++ b/deploy/kubernetes/overlays/alpha/controller_add_snapshotter.yaml @@ -0,0 +1,17 @@ +kind: StatefulSet +apiVersion: apps/v1 +metadata: + name: csi-gce-pd-controller +spec: + template: + spec: + containers: + - name: csi-snapshotter + imagePullPolicy: Always + image: quay.io/k8scsi/csi-snapshotter:v1.0.1 + args: + - "--v=5" + - "--csi-address=/csi/csi.sock" + volumeMounts: + - name: socket-dir + mountPath: /csi diff --git a/deploy/kubernetes/overlays/alpha/kustomization.yaml b/deploy/kubernetes/overlays/alpha/kustomization.yaml new file mode 100644 index 000000000..0830b91e1 --- /dev/null +++ b/deploy/kubernetes/overlays/alpha/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +bases: +- ../stable +patches: +- controller_add_snapshotter.yaml +patchesJson6902: +- target: + group: rbac.authorization.k8s.io + version: v1 + kind: ClusterRole + name: external-provisioner-role + path: rbac_add_snapshots_to_provisioner.yaml +resources: +- rbac_add_snapshotter.yaml diff --git a/deploy/kubernetes/overlays/alpha/rbac_add_snapshots_to_provisioner.yaml b/deploy/kubernetes/overlays/alpha/rbac_add_snapshots_to_provisioner.yaml new file mode 100644 index 000000000..746ea82fe --- /dev/null +++ b/deploy/kubernetes/overlays/alpha/rbac_add_snapshots_to_provisioner.yaml @@ -0,0 +1,16 @@ +# arrays without strategic patch merge defined need to be appended +# using jsonpatch +# https://github.com/kubernetes-sigs/kustomize/blob/master/examples/jsonpatch.md +- op: add + path: /rules/- + value: + apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots"] + verbs: ["get", "list"] + +- op: add + path: /rules/- + value: + apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotcontents"] + verbs: ["get", "list"] diff --git a/deploy/kubernetes/overlays/alpha/rbac_add_snapshotter.yaml b/deploy/kubernetes/overlays/alpha/rbac_add_snapshotter.yaml new file mode 100644 index 000000000..737f05e4f --- /dev/null +++ b/deploy/kubernetes/overlays/alpha/rbac_add_snapshotter.yaml @@ -0,0 +1,42 @@ +# xref: https://github.com/kubernetes-csi/external-snapshotter/blob/master/deploy/kubernetes/rbac.yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: external-snapshotter-role +rules: +- apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotclasses"] + verbs: ["get", "list", "watch"] +- apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotcontents"] + verbs: ["create", "get", "list", "watch", "update", "delete"] +- apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots"] + verbs: ["get", "list", "watch", "update"] +- apiGroups: ["apiextensions.k8s.io"] + resources: ["customresourcedefinitions"] + verbs: ["create", "list", "watch", "delete"] +- apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] +- apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["watch", "get", "list"] +- apiGroups: ["admissionregistration.k8s.io"] + resources: ["mutatingwebhookconfigurations"] + verbs: ["create"] + +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-controller-snapshotter-binding +subjects: + - kind: ServiceAccount + name: csi-controller-sa + namespace: default +roleRef: + kind: ClusterRole + name: external-snapshotter-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/kubernetes/overlays/dev/controller_always_pull.yaml b/deploy/kubernetes/overlays/dev/controller_always_pull.yaml new file mode 100644 index 000000000..78a964a37 --- /dev/null +++ b/deploy/kubernetes/overlays/dev/controller_always_pull.yaml @@ -0,0 +1,11 @@ +kind: StatefulSet +apiVersion: apps/v1 +metadata: + name: csi-gce-pd-controller +spec: + template: + spec: + containers: + - name: gce-pd-driver + imagePullPolicy: Always + diff --git a/deploy/kubernetes/overlays/dev/controller_images.yaml b/deploy/kubernetes/overlays/dev/controller_images.yaml deleted file mode 100644 index 527a74627..000000000 --- a/deploy/kubernetes/overlays/dev/controller_images.yaml +++ /dev/null @@ -1,28 +0,0 @@ -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - name: csi-provisioner - image: gcr.io/gke-release/csi-provisioner:v1.0.1-gke.0 - - name: csi-attacher - image: gcr.io/gke-release/csi-attacher:v1.0.1-gke.0 - - name: csi-snapshotter - imagePullPolicy: Always - image: quay.io/k8scsi/csi-snapshotter:v1.0.1 - args: - - "--v=5" - - "--csi-address=$(ADDRESS)" - env: - - name: ADDRESS - value: /csi/csi.sock - volumeMounts: - - name: socket-dir - mountPath: /csi - - name: gce-pd-driver - imagePullPolicy: Always - image: gcr.io/dyzz-csi-staging/csi/gce-pd-driver:latest - diff --git a/deploy/kubernetes/overlays/dev/kustomization.yaml b/deploy/kubernetes/overlays/dev/kustomization.yaml index c55a72bf6..04ee74a72 100644 --- a/deploy/kubernetes/overlays/dev/kustomization.yaml +++ b/deploy/kubernetes/overlays/dev/kustomization.yaml @@ -1,5 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization bases: -- ../../base +- ../alpha patches: -- controller_images.yaml -- node_images.yaml +- controller_always_pull.yaml +- node_always_pull.yaml +images: +# Replace this with your private image names and tags +- name: REPLACEME/gcp-compute-persistent-disk-csi-driver + newName: gcr.io/REPLACEME/gcp-compute-persistent-disk-csi-driver + newTag: "latest" +- name: REPLACEME/csi-provisioner + newName: gcr.io/gke-release/csi-provisioner + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-attacher + newName: gcr.io/gke-release/csi-attacher + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-node-driver-registrar + newName: gcr.io/gke-release/csi-node-driver-registrar + newTag: "v1.0.1-gke.0" diff --git a/deploy/kubernetes/overlays/dev/node_images.yaml b/deploy/kubernetes/overlays/dev/node_always_pull.yaml similarity index 50% rename from deploy/kubernetes/overlays/dev/node_images.yaml rename to deploy/kubernetes/overlays/dev/node_always_pull.yaml index 018635c32..f20c8af8d 100644 --- a/deploy/kubernetes/overlays/dev/node_images.yaml +++ b/deploy/kubernetes/overlays/dev/node_always_pull.yaml @@ -8,6 +8,4 @@ spec: containers: - name: gce-pd-driver imagePullPolicy: Always - image: gcr.io/dyzz-csi-staging/csi/gce-pd-driver:latest - - name: csi-driver-registrar - image: gcr.io/gke-release/csi-node-driver-registrar:v1.0.1-gke.0 \ No newline at end of file + diff --git a/deploy/kubernetes/overlays/prow-gke-head/controller_images.yaml b/deploy/kubernetes/overlays/prow-gke-head/controller_images.yaml deleted file mode 100644 index 25ea268c0..000000000 --- a/deploy/kubernetes/overlays/prow-gke-head/controller_images.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - name: csi-provisioner - image: gcr.io/gke-release-staging/csi-provisioner:latest - - name: csi-attacher - image: gcr.io/gke-release-staging/csi-attacher:latest - - name: gce-pd-driver - image: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver:latest diff --git a/deploy/kubernetes/overlays/prow-gke-head/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-head/kustomization.yaml deleted file mode 100644 index c55a72bf6..000000000 --- a/deploy/kubernetes/overlays/prow-gke-head/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -bases: -- ../../base -patches: -- controller_images.yaml -- node_images.yaml diff --git a/deploy/kubernetes/overlays/prow-gke-head/node_images.yaml b/deploy/kubernetes/overlays/prow-gke-head/node_images.yaml deleted file mode 100644 index 368ba7052..000000000 --- a/deploy/kubernetes/overlays/prow-gke-head/node_images.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-node -spec: - template: - spec: - containers: - - name: csi-driver-registrar - image: gcr.io/gke-release-staging/csi-node-driver-registrar:latest - - name: gce-pd-driver - image: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver:latest diff --git a/deploy/kubernetes/overlays/prow-gke-head/README.md b/deploy/kubernetes/overlays/prow-gke-release-staging-head/README.md similarity index 100% rename from deploy/kubernetes/overlays/prow-gke-head/README.md rename to deploy/kubernetes/overlays/prow-gke-release-staging-head/README.md diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-head/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-head/kustomization.yaml new file mode 100644 index 000000000..2778c468a --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-head/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +bases: +- ../../base +images: +- name: REPLACEME/gcp-compute-persistent-disk-csi-driver + newName: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver + newTag: "latest" +- name: REPLACEME/csi-provisioner + newName: gcr.io/gke-release-staging/csi-provisioner + newTag: "latest" +- name: REPLACEME/csi-attacher + newName: gcr.io/gke-release-staging/csi-attacher + newTag: "latest" +- name: REPLACEME/csi-node-driver-registrar + newName: gcr.io/gke-release-staging/csi-node-driver-registrar + newTag: "latest" diff --git a/deploy/kubernetes/overlays/prow-gke-staging/README.md b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/README.md similarity index 100% rename from deploy/kubernetes/overlays/prow-gke-staging/README.md rename to deploy/kubernetes/overlays/prow-gke-release-staging-rc/README.md diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml new file mode 100644 index 000000000..cb085285a --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +bases: +- ../../base +images: +- name: REPLACEME/gcp-compute-persistent-disk-csi-driver + newName: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver + newTag: "v0.4.0-gke.0" +- name: REPLACEME/csi-provisioner + newName: gcr.io/gke-release-staging/csi-provisioner + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-attacher + newName: gcr.io/gke-release-staging/csi-attacher + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-node-driver-registrar + newName: gcr.io/gke-release-staging/csi-node-driver-registrar + newTag: "v1.0.1-gke.0" diff --git a/deploy/kubernetes/overlays/prow-gke-staging/controller_images.yaml b/deploy/kubernetes/overlays/prow-gke-staging/controller_images.yaml deleted file mode 100644 index a5100e345..000000000 --- a/deploy/kubernetes/overlays/prow-gke-staging/controller_images.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - name: csi-provisioner - image: gcr.io/gke-release-staging/csi-provisioner:v1.0.1-gke.0 - - name: csi-attacher - image: gcr.io/gke-release-staging/csi-attacher:v1.0.1-gke.0 - - name: gce-pd-driver - image: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver:v0.4.0-rc1 diff --git a/deploy/kubernetes/overlays/prow-gke-staging/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-staging/kustomization.yaml deleted file mode 100644 index c55a72bf6..000000000 --- a/deploy/kubernetes/overlays/prow-gke-staging/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -bases: -- ../../base -patches: -- controller_images.yaml -- node_images.yaml diff --git a/deploy/kubernetes/overlays/prow-gke-staging/node_images.yaml b/deploy/kubernetes/overlays/prow-gke-staging/node_images.yaml deleted file mode 100644 index aa223bde3..000000000 --- a/deploy/kubernetes/overlays/prow-gke-staging/node_images.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-node -spec: - template: - spec: - containers: - - name: csi-driver-registrar - image: gcr.io/gke-release-staging/csi-node-driver-registrar:v1.0.1-gke.0 - - name: gce-pd-driver - image: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver:v0.4.0-rc1 diff --git a/deploy/kubernetes/overlays/prow-head-template/README.md b/deploy/kubernetes/overlays/prow-head-template/README.md deleted file mode 100644 index 399ab848f..000000000 --- a/deploy/kubernetes/overlays/prow-head-template/README.md +++ /dev/null @@ -1,2 +0,0 @@ -These overlays are intended to be only used by prow for CI testing. The -environment variables need to be substituted first before passing to kustomize. diff --git a/deploy/kubernetes/overlays/prow-head-template/controller_images.yaml b/deploy/kubernetes/overlays/prow-head-template/controller_images.yaml deleted file mode 100644 index fb6f6c62e..000000000 --- a/deploy/kubernetes/overlays/prow-head-template/controller_images.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - name: csi-provisioner - image: gcr.io/gke-release/csi-provisioner:v1.0.1-gke.0 - - name: csi-attacher - image: gcr.io/gke-release/csi-attacher:v1.0.1-gke.0 - - name: gce-pd-driver - image: PROW_GCEPD_IMAGE:latest \ No newline at end of file diff --git a/deploy/kubernetes/overlays/prow-head-template/kustomization.yaml b/deploy/kubernetes/overlays/prow-head-template/kustomization.yaml deleted file mode 100644 index c55a72bf6..000000000 --- a/deploy/kubernetes/overlays/prow-head-template/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -bases: -- ../../base -patches: -- controller_images.yaml -- node_images.yaml diff --git a/deploy/kubernetes/overlays/prow-head-template/node_images.yaml b/deploy/kubernetes/overlays/prow-head-template/node_images.yaml deleted file mode 100644 index 48557d8e0..000000000 --- a/deploy/kubernetes/overlays/prow-head-template/node_images.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-node -spec: - template: - spec: - containers: - - name: gce-pd-driver - image: PROW_GCEPD_IMAGE:latest - - name: csi-driver-registrar - image: gcr.io/gke-release/csi-node-driver-registrar:v1.0.1-gke.0 \ No newline at end of file diff --git a/deploy/kubernetes/overlays/stable/controller_images.yaml b/deploy/kubernetes/overlays/stable/controller_images.yaml deleted file mode 100644 index 2da3b9f91..000000000 --- a/deploy/kubernetes/overlays/stable/controller_images.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - name: csi-provisioner - image: gcr.io/gke-release/csi-provisioner:v1.0.1-gke.0 - - name: csi-attacher - image: gcr.io/gke-release/csi-attacher:v1.0.1-gke.0 - - name: gce-pd-driver - image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver:v0.4.0-gke.0 diff --git a/deploy/kubernetes/overlays/stable/kustomization.yaml b/deploy/kubernetes/overlays/stable/kustomization.yaml index c55a72bf6..69720e94a 100644 --- a/deploy/kubernetes/overlays/stable/kustomization.yaml +++ b/deploy/kubernetes/overlays/stable/kustomization.yaml @@ -1,5 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization bases: - ../../base -patches: -- controller_images.yaml -- node_images.yaml +images: +- name: REPLACEME/gcp-compute-persistent-disk-csi-driver + newName: gcr.io/gke-release/csi/gce-pd-driver + newTag: "v0.4.0-gke.0" +- name: REPLACEME/csi-provisioner + newName: gcr.io/gke-release/csi-provisioner + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-attacher + newName: gcr.io/gke-release/csi-attacher + newTag: "v1.0.1-gke.0" +- name: REPLACEME/csi-node-driver-registrar + newName: gcr.io/gke-release/csi-node-driver-registrar + newTag: "v1.0.1-gke.0" diff --git a/deploy/kubernetes/overlays/stable/node_images.yaml b/deploy/kubernetes/overlays/stable/node_images.yaml deleted file mode 100644 index ba8e84862..000000000 --- a/deploy/kubernetes/overlays/stable/node_images.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: DaemonSet -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-node -spec: - template: - spec: - containers: - - name: csi-driver-registrar - image: gcr.io/gke-release/csi-node-driver-registrar:v1.0.1-gke.0 - - name: gce-pd-driver - image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver:v0.4.0-gke.0 \ No newline at end of file diff --git a/test/k8s-integration/main.go b/test/k8s-integration/main.go index d05f6780a..93c021c75 100644 --- a/test/k8s-integration/main.go +++ b/test/k8s-integration/main.go @@ -20,7 +20,6 @@ import ( "os" "os/exec" "path/filepath" - "strings" "syscall" "time" @@ -45,6 +44,10 @@ var ( boskosResourceType = flag.String("boskos-resource-type", "gce-project", "name of the boskos resource type to reserve") ) +const ( + pdImagePlaceholder = "REPLACEME/gcp-compute-persistent-disk-csi-driver" +) + func init() { flag.Set("logtostderr", "true") } @@ -104,14 +107,6 @@ func handle() error { if *doDriverBuild { *stagingImage = fmt.Sprintf("gcr.io/%s/gcp-persistent-disk-csi-driver", project) - - // TODO: once https://github.com/kubernetes-sigs/kustomize/issues/402 is implemented, - // we no longer need to do this templating work and can just edit the image registry directly. - overlayDir := getOverlayDir(pkgDir, *deployOverlayName) - err = fillinOverlayTemplate(overlayDir, *stagingImage) - if err != nil { - return fmt.Errorf("tmpOverlayDir setup failed: %v", err) - } } if _, ok := os.LookupEnv("USER"); !ok { @@ -306,8 +301,8 @@ func installDriver(goPath, pkgDir, k8sDir, stagingImage, stagingVersion, deployO filepath.Join(pkgDir, "bin", "kustomize"), "edit", "set", - "imagetag", - fmt.Sprintf("%s:%s", stagingImage, stagingVersion)).CombinedOutput() + "image", + fmt.Sprintf("%s=%s:%s", pdImagePlaceholder, stagingImage, stagingVersion)).CombinedOutput() if err != nil { return fmt.Errorf("failed to edit kustomize: %s, err: %v", out, err) } @@ -467,18 +462,3 @@ func deleteImage(stagingImage, stagingVersion string) error { } return nil } - -func fillinOverlayTemplate(overlayDir, stagingImage string) error { - // Substitute the PROW_GCEPD_IMAGE env with stagingImage for every file in the directory - escapedStagingImage := strings.Replace(stagingImage, "/", "\\/", -1) - out, err := exec.Command( - "bash", - "-c", - fmt.Sprintf("find %s -name *.yaml | xargs %s", - overlayDir, - fmt.Sprintf("sed -i -e 's/PROW_GCEPD_IMAGE/%s/g'", escapedStagingImage))).CombinedOutput() - if err != nil { - return fmt.Errorf("error substituting staging image env: %s, err: %v", out, err) - } - return nil -} diff --git a/test/run-k8s-integration.sh b/test/run-k8s-integration.sh index b74de0439..d36067e5a 100755 --- a/test/run-k8s-integration.sh +++ b/test/run-k8s-integration.sh @@ -10,7 +10,7 @@ set -o nounset set -o errexit readonly PKGDIR=${GOPATH}/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver -readonly overlay_name="${GCE_PD_OVERLAY_NAME:-prow-head-template}" +readonly overlay_name="${GCE_PD_OVERLAY_NAME:-stable}" readonly boskos_resource_type="${GCE_PD_BOSKOS_RESOURCE_TYPE:-gce-project}" readonly do_driver_build="${GCE_PD_DO_DRIVER_BUILD:-true}" export GCE_PD_VERBOSITY=9