Skip to content

Commit c945484

Browse files
Merge pull request kubernetes-sigs#37 from tsmetana/rebase-v.1.10.1
STOR-1163: Rebase to upstream v1.10.1
2 parents 9f6c301 + 98ccd5b commit c945484

File tree

395 files changed

+88086
-42422
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

395 files changed

+88086
-42422
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
See the [1.8 changelog in the master branch](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/master/CHANGELOG/CHANGELOG-1.8.md).
1+
See the [1.10 changelog in the master branch](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/master/CHANGELOG/CHANGELOG-1.10.md).

Dockerfile

+20-15
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
ARG BUILDPLATFORM
1616

17-
FROM --platform=$BUILDPLATFORM golang:1.19.4 as builder
17+
FROM --platform=$BUILDPLATFORM golang:1.20.3 as builder
1818

1919
ARG STAGINGVERSION
2020
ARG TARGETPLATFORM
@@ -24,7 +24,7 @@ ADD . .
2424
RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') GCE_PD_CSI_STAGING_VERSION=$STAGINGVERSION make gce-pd-driver
2525

2626
# Start from Kubernetes Debian base.
27-
FROM k8s.gcr.io/build-image/debian-base:buster-v1.9.0 as debian
27+
FROM gke.gcr.io/debian-base:bullseye-v1.4.3-gke.0 as debian
2828
# Install necessary dependencies
2929
# google_nvme_id script depends on the following packages: nvme-cli, xxd, bash
3030
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash
@@ -74,28 +74,33 @@ COPY --from=debian /bin/ln /bin/ln
7474
COPY --from=debian /bin/udevadm /bin/udevadm
7575

7676
# Copy shared libraries into distroless base.
77-
COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \
77+
COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre.so.3 \
78+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
79+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libtinfo.so.6 \
80+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libe2p.so.2 \
7881
/lib/${LIB_DIR_PREFIX}-linux-gnu/libcom_err.so.2 \
7982
/lib/${LIB_DIR_PREFIX}-linux-gnu/libdevmapper.so.1.02.1 \
80-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libe2p.so.2 \
8183
/lib/${LIB_DIR_PREFIX}-linux-gnu/libext2fs.so.2 \
8284
/lib/${LIB_DIR_PREFIX}-linux-gnu/libgcc_s.so.1 \
8385
/lib/${LIB_DIR_PREFIX}-linux-gnu/liblzma.so.5 \
84-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libmount.so.1 \
85-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre.so.3 \
86-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libreadline.so.5 \
87-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
88-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libtinfo.so.6 \
89-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libudev.so.1 \
90-
/lib/${LIB_DIR_PREFIX}-linux-gnu/libuuid.so.1 \
86+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libreadline.so.8 \
9187
/lib/${LIB_DIR_PREFIX}-linux-gnu/libz.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/
9288

93-
COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libacl.so.1 \
89+
COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \
90+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libbsd.so.0 \
91+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libinih.so.1 \
92+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libmount.so.1 \
93+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libudev.so.1 \
94+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libuuid.so.1 \
95+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libacl.so.1 \
9496
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libattr.so.1 \
95-
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicudata.so.63 \
96-
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicui18n.so.63 \
97-
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicuuc.so.63 \
97+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libedit.so.2 \
98+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicudata.so.67 \
99+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicui18n.so.67 \
100+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicuuc.so.67 \
98101
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libkmod.so.2 \
102+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libmd.so.0 \
103+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre2-8.so.0 \
99104
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libstdc++.so.6 /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/
100105

101106
# Copy NVME support required script and rules into distroless base.

Dockerfile.Windows

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
ARG BASE_IMAGE
16-
FROM --platform=$BUILDPLATFORM golang:1.19.4 AS builder
16+
FROM --platform=$BUILDPLATFORM golang:1.19.6 AS builder
1717

1818
ARG TARGETPLATFORM
1919
ARG BUILDPLATFORM

Dockerfile.debug

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.19.4 as builder
15+
FROM golang:1.19.6 as builder
1616
WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
1717
ADD . .
1818

@@ -33,6 +33,7 @@ FROM k8s.gcr.io/build-image/debian-base-amd64:buster-v1.5.0
3333
# Copy source code too to correlate the binary and the breakpoints
3434
WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
3535
ADD . .
36+
COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver
3637

3738
COPY --from=builder /go/bin/dlv /go/bin/dlv
3839

Makefile

+7-14
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ DRIVERWINDOWSBINARY=${DRIVERBINARY}.exe
2424
DOCKER=DOCKER_CLI_EXPERIMENTAL=enabled docker
2525

2626
BASE_IMAGE_LTSC2019=mcr.microsoft.com/windows/servercore:ltsc2019
27-
BASE_IMAGE_20H2=mcr.microsoft.com/windows/servercore:20H2
2827

2928
# Both arrays MUST be index aligned.
30-
WINDOWS_IMAGE_TAGS=ltsc2019 20H2
31-
WINDOWS_BASE_IMAGES=$(BASE_IMAGE_LTSC2019) $(BASE_IMAGE_20H2)
29+
WINDOWS_IMAGE_TAGS=ltsc2019
30+
WINDOWS_BASE_IMAGES=$(BASE_IMAGE_LTSC2019)
3231

3332
GCFLAGS=""
3433
ifdef GCE_PD_CSI_DEBUG
@@ -38,7 +37,7 @@ endif
3837
all: gce-pd-driver gce-pd-driver-windows
3938
gce-pd-driver: require-GCE_PD_CSI_STAGING_VERSION
4039
mkdir -p bin
41-
go build -mod=vendor -gcflags=$(GCFLAGS) -ldflags "-X main.version=$(STAGINGVERSION)" -o bin/${DRIVERBINARY} ./cmd/gce-pd-csi-driver/
40+
CGO_ENABLED=0 go build -mod=vendor -gcflags=$(GCFLAGS) -ldflags "-extldflags=static -X main.version=$(STAGINGVERSION)" -o bin/${DRIVERBINARY} ./cmd/gce-pd-csi-driver/
4241

4342
gce-pd-driver-windows: require-GCE_PD_CSI_STAGING_VERSION
4443
ifeq (${GOARCH}, amd64)
@@ -61,14 +60,8 @@ build-and-push-windows-container-ltsc2019: require-GCE_PD_CSI_STAGING_IMAGE init
6160
--build-arg BASE_IMAGE=$(BASE_IMAGE_LTSC2019) \
6261
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
6362

64-
build-and-push-windows-container-20H2: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
65-
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows \
66-
-t $(STAGINGIMAGE):$(STAGINGVERSION)_20H2 \
67-
--build-arg BASE_IMAGE=$(BASE_IMAGE_20H2) \
68-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
69-
70-
build-and-push-multi-arch: build-and-push-container-linux-amd64 build-and-push-container-linux-arm64 build-and-push-windows-container-ltsc2019 build-and-push-windows-container-20H2
71-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_20H2 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
63+
build-and-push-multi-arch: build-and-push-container-linux-amd64 build-and-push-windows-container-ltsc2019
64+
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
7265
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="$(WINDOWS_IMAGE_TAGS)" WINDOWS_BASE_IMAGES="$(WINDOWS_BASE_IMAGES)" ./manifest_osversion.sh
7366
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
7467

@@ -130,10 +123,10 @@ ifndef GCE_PD_CSI_STAGING_VERSION
130123
endif
131124

132125
init-buildx:
126+
$(DOCKER) run --rm --privileged multiarch/qemu-user-static --reset --credential yes --persistent yes
133127
# Ensure we use a builder that can leverage it (the default on linux will not)
134128
-$(DOCKER) buildx rm multiarch-multiplatform-builder
135-
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder
136-
$(DOCKER) run --rm --privileged multiarch/qemu-user-static --reset --credential yes --persistent yes
129+
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder --driver-opt network=host --driver-opt image=moby/buildkit:v0.10.6
137130
# Register gcloud as a Docker credential helper.
138131
# Required for "docker buildx build --push".
139132
gcloud auth configure-docker --quiet

README.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ lifecycle of Google Compute Engine Persistent Disks.
1212
## Project Status
1313

1414
Status: GA
15-
Latest stable image: `k8s.gcr.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.7.2`
15+
Latest stable image: `k8s.gcr.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.9.2`
1616

1717
### Test Status
1818

@@ -40,7 +40,7 @@ The following table captures the compatibility matrix of the core persistent dis
4040
| dev | yes |
4141

4242
The manifest bundle which captures all the driver components (driver pod which includes the containers csi-provisioner, csi-resizer, csi-snapshotter, gce-pd-driver, csi-driver-registrar;
43-
csi driver object, rbacs, pod security policies etc) can be picked up from the master branch [overlays](deploy/kubernetes/overlays) directory. We structure the overlays directory, per minor version of kubernetes because not all driver components can be used with all kubernetes versions.
43+
csi driver object, rbacs, pod security policies etc) can be picked up from the master branch [overlays](deploy/kubernetes/overlays) directory. We structure the overlays directory, per minor version of kubernetes because not all driver components can be used with all kubernetes versions.
4444

4545
Example:
4646

@@ -58,12 +58,14 @@ See Github [Issues](https://github.com/kubernetes-sigs/gcp-compute-persistent-di
5858

5959
### CreateVolume Parameters
6060

61-
| Parameter | Values | Default | Description |
62-
|------------------|---------------------------|---------------|----------------------------------------------------------------------------------------------------|
63-
| type | Any PD type (see [GCP documentation](https://cloud.google.com/compute/docs/disks#disk-types)), eg `pd-ssd` `pd-balanced` | `pd-standard` | Type allows you to choose between standard Persistent Disks or Solid State Drive Persistent Disks |
64-
| replication-type | `none` OR `regional-pd` | `none` | Replication type allows you to choose between Zonal Persistent Disks or Regional Persistent Disks |
65-
| disk-encryption-kms-key | Fully qualified resource identifier for the key to use to encrypt new disks. | Empty string. | Encrypt disk using Customer Managed Encryption Key (CMEK). See [GKE Docs](https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek#create_a_cmek_protected_attached_disk) for details. |
66-
| labels | `key1=value1,key2=value2` | | Labels allow you to assign custom [GCE Disk labels](https://cloud.google.com/compute/docs/labeling-resources). |
61+
| Parameter | Values | Default | Description |
62+
|-----------------------------|---------------------------|---------------|----------------------------------------------------------------------------------------------------|
63+
| type | Any PD type (see [GCP documentation](https://cloud.google.com/compute/docs/disks#disk-types)), eg `pd-ssd` `pd-balanced` | `pd-standard` | Type allows you to choose between standard Persistent Disks or Solid State Drive Persistent Disks |
64+
| replication-type | `none` OR `regional-pd` | `none` | Replication type allows you to choose between Zonal Persistent Disks or Regional Persistent Disks |
65+
| disk-encryption-kms-key | Fully qualified resource identifier for the key to use to encrypt new disks. | Empty string. | Encrypt disk using Customer Managed Encryption Key (CMEK). See [GKE Docs](https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek#create_a_cmek_protected_attached_disk) for details. |
66+
| labels | `key1=value1,key2=value2` | | Labels allow you to assign custom [GCE Disk labels](https://cloud.google.com/compute/docs/labeling-resources). |
67+
| provisioned-iops-on-create | string (int64 format). Values typically between 10,000 and 120,000 | | Indicates how many IOPS to provision for the disk. See the [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk) for details, including valid ranges for IOPS. |
68+
| provisioned-throughput-on-create | string (int64 format). Values typically between 1 and 7,124 mb per second | | Indicates how much throughput to provision for the disk. See the [hyperdisk documentation](TBD) for details, including valid ranges for throughput. |
6769

6870
### Topology
6971

@@ -97,7 +99,7 @@ Controller-level and node-level deployments will both have priorityClassName set
9799

98100
## Further Documentation
99101

100-
[Local Development](docs/local-development.md)
102+
[Local Development](docs/kubernetes/development.md)
101103

102104
For releasing new versions of this driver, googlers should consult [go/pdcsi-oss-release-process](go/pdcsi-oss-release-process).
103105

cloudbuild.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ options:
66
substitution_option: ALLOW_LOOSE
77

88
steps:
9-
- name: 'gcr.io/k8s-testimages/gcb-docker-gcloud:v20210331-c732583'
9+
- name: 'gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20221214-1b4dd4d69a'
1010
entrypoint: make
1111
env:
12-
- GCE_PD_CSI_STAGING_IMAGE=gcr.io/${_STAGING_PROJECT}/gcp-compute-persistent-disk-csi-driver
13-
- GCE_PD_CSI_STAGING_VERSION=${_PULL_BASE_REF}
14-
# default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
15-
# set the home to /root explicitly to if using docker buildx
16-
- HOME=/root
12+
- GCE_PD_CSI_STAGING_IMAGE=gcr.io/${_STAGING_PROJECT}/gcp-compute-persistent-disk-csi-driver
13+
- GCE_PD_CSI_STAGING_VERSION=${_PULL_BASE_REF}
14+
# default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
15+
# set the home to /root explicitly to if using docker buildx
16+
- HOME=/root
1717
args:
1818
- build-and-push-multi-arch
1919

@@ -22,5 +22,5 @@ substitutions:
2222
_PULL_BASE_REF: 'master'
2323

2424
tags:
25-
- 'gcp-compute-persistent-disk-csi-driver'
26-
- ${_PULL_BASE_REF}
25+
- 'gcp-compute-persistent-disk-csi-driver'
26+
- ${_PULL_BASE_REF}

cmd/gce-pd-csi-driver/main.go

+16-12
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"k8s.io/klog/v2"
2727

2828
"sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/common"
29+
"sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/deviceutils"
2930
gce "sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/gce-cloud-provider/compute"
3031
metadataservice "sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/gce-cloud-provider/metadata"
3132
driver "sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/gce-pd-csi-driver"
@@ -36,6 +37,7 @@ import (
3637
var (
3738
cloudConfigFilePath = flag.String("cloud-config", "", "Path to GCE cloud provider config")
3839
endpoint = flag.String("endpoint", "unix:/tmp/csi.sock", "CSI endpoint")
40+
computeEndpoint = flag.String("compute-endpoint", "", "If set, used as the endpoint for the GCE API.")
3941
runControllerService = flag.Bool("run-controller-service", true, "If set to false then the CSI driver does not activate its controller service (default: true)")
4042
runNodeService = flag.Bool("run-node-service", true, "If set to false then the CSI driver does not activate its node service (default: true)")
4143
httpEndpoint = flag.String("http-endpoint", "", "The TCP network address where the prometheus metrics endpoint will listen (example: `:8080`). The default is empty string, which means metrics endpoint is disabled.")
@@ -57,7 +59,9 @@ var (
5759
waitForOpBackoffSteps = flag.Int("wait-op-backoff-steps", 100, "Steps for wait for operation backoff")
5860
waitForOpBackoffCap = flag.Duration("wait-op-backoff-cap", 0, "Cap for wait for operation backoff")
5961

60-
maxprocs = flag.Int("maxprocs", 1, "GOMAXPROCS override")
62+
maxProcs = flag.Int("maxprocs", 1, "GOMAXPROCS override")
63+
maxConcurrentFormat = flag.Int("max-concurrent-format", 1, "The maximum number of concurrent format exec calls")
64+
concurrentFormatTimeout = flag.Duration("concurrent-format-timeout", 1*time.Minute, "The maximum duration of a format operation before its concurrency token is released")
6165

6266
version string
6367
)
@@ -86,7 +90,7 @@ func main() {
8690
func handle() {
8791
var err error
8892

89-
runtime.GOMAXPROCS(*maxprocs)
93+
runtime.GOMAXPROCS(*maxProcs)
9094
klog.Infof("Sys info: NumCPU: %v MAXPROC: %v", runtime.NumCPU(), runtime.GOMAXPROCS(0))
9195

9296
if version == "" {
@@ -108,37 +112,37 @@ func handle() {
108112
klog.Fatalf("Bad extra volume labels: %v", err.Error())
109113
}
110114

111-
gceDriver := driver.GetGCEDriver()
112-
113-
//Initialize GCE Driver
114115
ctx, cancel := context.WithCancel(context.Background())
115116
defer cancel()
116117

117-
//Initialize identity server
118+
// Initialize driver
119+
gceDriver := driver.GetGCEDriver()
120+
121+
// Initialize identity server
118122
identityServer := driver.NewIdentityServer(gceDriver)
119123

120-
//Initialize requirements for the controller service
124+
// Initialize requirements for the controller service
121125
var controllerServer *driver.GCEControllerServer
122126
if *runControllerService {
123-
cloudProvider, err := gce.CreateCloudProvider(ctx, version, *cloudConfigFilePath)
127+
cloudProvider, err := gce.CreateCloudProvider(ctx, version, *cloudConfigFilePath, *computeEndpoint)
124128
if err != nil {
125129
klog.Fatalf("Failed to get cloud provider: %v", err.Error())
126130
}
127131
initialBackoffDuration := time.Duration(*errorBackoffInitialDurationMs) * time.Millisecond
128-
maxBackoffDuration := time.Duration(*errorBackoffMaxDurationMs) * time.Microsecond
132+
maxBackoffDuration := time.Duration(*errorBackoffMaxDurationMs) * time.Millisecond
129133
controllerServer = driver.NewControllerServer(gceDriver, cloudProvider, initialBackoffDuration, maxBackoffDuration)
130134
} else if *cloudConfigFilePath != "" {
131135
klog.Warningf("controller service is disabled but cloud config given - it has no effect")
132136
}
133137

134-
//Initialize requirements for the node service
138+
// Initialize requirements for the node service
135139
var nodeServer *driver.GCENodeServer
136140
if *runNodeService {
137-
mounter, err := mountmanager.NewSafeMounter()
141+
mounter, err := mountmanager.NewSafeMounter(*maxConcurrentFormat, *concurrentFormatTimeout)
138142
if err != nil {
139143
klog.Fatalf("Failed to get safe mounter: %v", err.Error())
140144
}
141-
deviceUtils := mountmanager.NewDeviceUtils()
145+
deviceUtils := deviceutils.NewDeviceUtils()
142146
statter := mountmanager.NewStatter(mounter)
143147
meta, err := metadataservice.NewMetadataService()
144148
if err != nil {

creds/cloud-sa.json

Whitespace-only changes.

deploy/common.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function ensure_var(){
1919

2020
function get_needed_roles()
2121
{
22-
echo "roles/compute.storageAdmin roles/iam.serviceAccountUser projects/${PROJECT}/roles/gcp_compute_persistent_disk_csi_driver_custom_role"
22+
echo "roles/editor roles/compute.storageAdmin roles/iam.serviceAccountUser projects/${PROJECT}/roles/gcp_compute_persistent_disk_csi_driver_custom_role"
2323
}
2424

2525
# Installs kustomize in ${PKGDIR}/bin

deploy/kubernetes/base/controller/kustomization.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ resources:
66
- cluster_setup.yaml
77
- controller.yaml
88
- v1_csidriver.yaml
9+

0 commit comments

Comments
 (0)