Skip to content

Commit e532bbe

Browse files
committed
Working code
1 parent 1e276ef commit e532bbe

22 files changed

+559
-145
lines changed

Dockerfile

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1-
# Copyright 2019 The Kubernetes Authors.
2-
#
3-
# Licensed under the Apache License, Version 2.0 (the "License");
4-
# you may not use this file except in compliance with the License.
5-
# You may obtain a copy of the License at
6-
#
7-
# http://www.apache.org/licenses/LICENSE-2.0
8-
#
9-
# Unless required by applicable law or agreed to in writing, software
10-
# distributed under the License is distributed on an "AS IS" BASIS,
11-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
# See the License for the specific language governing permissions and
13-
# limitations under the License.
1+
#FROM golang:1.15-buster AS builder
2+
#WORKDIR /go/src/github.com/ppc64le-cloud/powervs-csi-driver
3+
#COPY . .
4+
#RUN make
145

15-
FROM golang:1.14.1-stretch AS builder
16-
WORKDIR /go/src/github.com/ppc64le-cloud/powervs-csi-driver
17-
COPY . .
18-
RUN make
19-
20-
FROM k8s.gcr.io/build-image/debian-base:v2.1.3 AS debian-base
6+
FROM --platform=linux/ppc64le k8s.gcr.io/build-image/debian-base:v2.1.3 AS debian-base
217
RUN clean-install ca-certificates e2fsprogs mount udev util-linux xfsprogs
22-
COPY --from=builder /go/src/github.com/ppc64le-cloud/powervs-csi-driver/bin/powervs-csi-driver /bin/powervs-csi-driver
8+
# COPY --from=builder /go/src/github.com/ppc64le-cloud/powervs-csi-driver/bin/powervs-csi-driver /bin/powervs-csi-driver
9+
COPY ./bin/powervs-csi-driver /bin/powervs-csi-driver
2310

2411
ENTRYPOINT ["/bin/powervs-csi-driver"]
12+
13+
FROM --platform=linux/ppc64le registry.access.redhat.com/ubi8/ubi:8.3 AS rhel-base
14+
RUN yum --disableplugin=subscription-manager -y install httpd php \
15+
&& yum --disableplugin=subscription-manager clean all
16+
RUN clean-install ca-certificates e2fsprogs mount udev util-linux xfsprogs
17+
# COPY --from=builder /go/src/github.com/ppc64le-cloud/powervs-csi-driver/bin/powervs-csi-driver /bin/powervs-csi-driver
18+
COPY ./bin/powervs-csi-driver /bin/powervs-csi-driver
19+
20+
ENTRYPOINT ["/bin/powervs-csi-driver"]

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ GOPROXY=direct
2323
GOPATH=$(shell go env GOPATH)
2424
GOOS=$(shell go env GOOS)
2525
GOBIN=$(shell pwd)/bin
26+
PLATFORM=linux/ppc64le
2627

2728
.EXPORT_ALL_VARIABLES:
2829

2930
.PHONY: bin/powervs-csi-driver
3031
bin/powervs-csi-driver: | bin
31-
CGO_ENABLED=0 GOOS=linux go build -ldflags ${LDFLAGS} -o bin/powervs-csi-driver ./cmd/
32+
CGO_ENABLED=0 GOOS=linux GOARCH=ppc64le go build -ldflags ${LDFLAGS} -o bin/powervs-csi-driver ./cmd/
3233

3334
bin /tmp/helm /tmp/kubeval:
3435
@mkdir -p $@
@@ -85,7 +86,7 @@ test-e2e-multi-az: bin/k8s-e2e-tester
8586

8687
.PHONY: image-release
8788
image-release:
88-
docker build -t $(IMAGE):$(VERSION) . --target debian-base
89+
docker buildx build -t $(IMAGE):$(VERSION) . --target debian-base
8990

9091
.PHONY: image
9192
image:
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/clusterrole-attacher.yaml
2+
# Source: powervs-csi-driver/templates/clusterrole-attacher.yaml
33
kind: ClusterRole
44
apiVersion: rbac.authorization.k8s.io/v1
55
metadata:
66
name: ebs-external-attacher-role
77
labels:
8-
app.kubernetes.io/name: aws-ebs-csi-driver
8+
app.kubernetes.io/name: powervs-csi-driver
99
rules:
1010
- apiGroups: [""]
1111
resources: ["persistentvolumes"]
12-
verbs: ["get", "list", "watch", "update"]
12+
verbs: ["get", "list", "watch", "patch"]
1313
- apiGroups: [""]
1414
resources: ["nodes"]
1515
verbs: ["get", "list", "watch"]
@@ -18,4 +18,7 @@ rules:
1818
verbs: ["get", "list", "watch"]
1919
- apiGroups: ["storage.k8s.io"]
2020
resources: ["volumeattachments"]
21-
verbs: ["get", "list", "watch", "update"]
21+
verbs: ["get", "list", "watch", "patch"]
22+
- apiGroups: [ "storage.k8s.io" ]
23+
resources: [ "volumeattachments/status" ]
24+
verbs: [ "patch" ]

deploy/kubernetes/base/clusterrole-provisioner.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/clusterrole-provisioner.yaml
2+
# Source: powervs-csi-driver/templates/clusterrole-provisioner.yaml
33
kind: ClusterRole
44
apiVersion: rbac.authorization.k8s.io/v1
55
metadata:
66
name: ebs-external-provisioner-role
77
labels:
8-
app.kubernetes.io/name: aws-ebs-csi-driver
8+
app.kubernetes.io/name: powervs-csi-driver
99
rules:
1010
- apiGroups: [""]
1111
resources: ["persistentvolumes"]

deploy/kubernetes/base/clusterrolebinding-attacher.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-attacher.yaml
2+
# Source: powervs-csi-driver/templates/clusterrolebinding-attacher.yaml
33
kind: ClusterRoleBinding
44
apiVersion: rbac.authorization.k8s.io/v1
55
metadata:
66
name: ebs-csi-attacher-binding
77
labels:
8-
app.kubernetes.io/name: aws-ebs-csi-driver
8+
app.kubernetes.io/name: powervs-csi-driver
99
subjects:
1010
- kind: ServiceAccount
1111
name: ebs-csi-controller-sa

deploy/kubernetes/base/clusterrolebinding-provisioner.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-provisioner.yaml
2+
# Source: powervs-csi-driver/templates/clusterrolebinding-provisioner.yaml
33
kind: ClusterRoleBinding
44
apiVersion: rbac.authorization.k8s.io/v1
55
metadata:
66
name: ebs-csi-provisioner-binding
77
labels:
8-
app.kubernetes.io/name: aws-ebs-csi-driver
8+
app.kubernetes.io/name: powervs-csi-driver
99
subjects:
1010
- kind: ServiceAccount
1111
name: ebs-csi-controller-sa

deploy/kubernetes/base/controller.yaml

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/controller.yaml
2+
# Source: powervs-csi-driver/templates/controller.yaml
33
# Controller Service
44
kind: Deployment
55
apiVersion: apps/v1
66
metadata:
77
name: ebs-csi-controller
88
namespace: kube-system
99
labels:
10-
app.kubernetes.io/name: aws-ebs-csi-driver
10+
app.kubernetes.io/name: powervs-csi-driver
1111
spec:
1212
replicas: 2
1313
selector:
1414
matchLabels:
1515
app: ebs-csi-controller
16-
app.kubernetes.io/name: aws-ebs-csi-driver
16+
app.kubernetes.io/name: powervs-csi-driver
1717
template:
1818
metadata:
1919
labels:
2020
app: ebs-csi-controller
21-
app.kubernetes.io/name: aws-ebs-csi-driver
21+
app.kubernetes.io/name: powervs-csi-driver
2222
spec:
2323
nodeSelector:
2424
kubernetes.io/os: linux
@@ -28,8 +28,8 @@ spec:
2828
- operator: Exists
2929
containers:
3030
- name: ebs-plugin
31-
image: amazon/aws-ebs-csi-driver:latest
32-
imagePullPolicy: IfNotPresent
31+
image: quay.io/powercloud/powervs-csi-driver:v0.0.1
32+
imagePullPolicy: Always
3333
args:
3434
# - {all,controller,node} # specify the driver mode
3535
- --endpoint=$(CSI_ENDPOINT)
@@ -38,17 +38,11 @@ spec:
3838
env:
3939
- name: CSI_ENDPOINT
4040
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
41-
- name: AWS_ACCESS_KEY_ID
41+
- name: IBMCLOUD_API_KEY
4242
valueFrom:
4343
secretKeyRef:
44-
name: aws-secret
45-
key: key_id
46-
optional: true
47-
- name: AWS_SECRET_ACCESS_KEY
48-
valueFrom:
49-
secretKeyRef:
50-
name: aws-secret
51-
key: access_key
44+
name: ibm-secret
45+
key: IBMCLOUD_API_KEY
5246
optional: true
5347
volumeMounts:
5448
- name: socket-dir
@@ -66,34 +60,35 @@ spec:
6660
periodSeconds: 10
6761
failureThreshold: 5
6862
- name: csi-provisioner
69-
image: quay.io/k8scsi/csi-provisioner:v1.5.0
63+
image: k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4
7064
args:
7165
- --csi-address=$(ADDRESS)
7266
- --v=5
7367
- --feature-gates=Topology=true
74-
- --enable-leader-election
75-
- --leader-election-type=leases
68+
- --leader-election
69+
#- --leader-election-type=leases
7670
env:
7771
- name: ADDRESS
7872
value: /var/lib/csi/sockets/pluginproxy/csi.sock
7973
volumeMounts:
8074
- name: socket-dir
8175
mountPath: /var/lib/csi/sockets/pluginproxy/
8276
- name: csi-attacher
83-
image: quay.io/k8scsi/csi-attacher:v1.2.0
77+
image: k8s.gcr.io/sig-storage/csi-attacher:v3.0.0
8478
args:
8579
- --csi-address=$(ADDRESS)
80+
- --timeout=120s
8681
- --v=5
8782
- --leader-election=true
88-
- --leader-election-type=leases
83+
#- --leader-election-type=leases
8984
env:
9085
- name: ADDRESS
9186
value: /var/lib/csi/sockets/pluginproxy/csi.sock
9287
volumeMounts:
9388
- name: socket-dir
9489
mountPath: /var/lib/csi/sockets/pluginproxy/
9590
- name: liveness-probe
96-
image: quay.io/k8scsi/livenessprobe:v1.1.0
91+
image: k8s.gcr.io/sig-storage/livenessprobe:v2.1.0
9792
args:
9893
- --csi-address=/csi/csi.sock
9994
volumeMounts:

deploy/kubernetes/base/csidriver.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/csidriver.yaml
2+
# Source: powervs-csi-driver/templates/csidriver.yaml
33
apiVersion: storage.k8s.io/v1beta1
44
kind: CSIDriver
55
metadata:
6-
name: ebs.csi.aws.com
6+
name: powervs.csi.ibm.com
77
labels:
8-
app.kubernetes.io/name: aws-ebs-csi-driver
8+
app.kubernetes.io/name: powervs-csi-driver
99
spec:
1010
attachRequired: true
1111
podInfoOnMount: false

deploy/kubernetes/base/kustomization.yaml

Lines changed: 0 additions & 12 deletions
This file was deleted.

deploy/kubernetes/base/node.yaml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
2-
# Source: aws-ebs-csi-driver/templates/node.yaml
2+
# Source: powervs-csi-driver/templates/node.yaml
33
# Node Service
44
kind: DaemonSet
55
apiVersion: apps/v1
66
metadata:
77
name: ebs-csi-node
88
namespace: kube-system
99
labels:
10-
app.kubernetes.io/name: aws-ebs-csi-driver
10+
app.kubernetes.io/name: powervs-csi-driver
1111
spec:
1212
selector:
1313
matchLabels:
1414
app: ebs-csi-node
15-
app.kubernetes.io/name: aws-ebs-csi-driver
15+
app.kubernetes.io/name: powervs-csi-driver
1616
template:
1717
metadata:
1818
labels:
1919
app: ebs-csi-node
20-
app.kubernetes.io/name: aws-ebs-csi-driver
20+
app.kubernetes.io/name: powervs-csi-driver
2121
spec:
2222
affinity:
2323
nodeAffinity:
@@ -38,7 +38,7 @@ spec:
3838
- name: ebs-plugin
3939
securityContext:
4040
privileged: true
41-
image: amazon/aws-ebs-csi-driver:latest
41+
image: quay.io/powercloud/powervs-csi-driver:v0.0.1
4242
args:
4343
- node
4444
- --endpoint=$(CSI_ENDPOINT)
@@ -56,6 +56,8 @@ spec:
5656
mountPath: /csi
5757
- name: device-dir
5858
mountPath: /dev
59+
- name: sys-dir
60+
mountPath: /sys
5961
ports:
6062
- name: healthz
6163
containerPort: 9808
@@ -69,7 +71,7 @@ spec:
6971
periodSeconds: 10
7072
failureThreshold: 5
7173
- name: node-driver-registrar
72-
image: quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
74+
image: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1
7375
args:
7476
- --csi-address=$(ADDRESS)
7577
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
@@ -89,7 +91,7 @@ spec:
8991
- name: registration-dir
9092
mountPath: /registration
9193
- name: liveness-probe
92-
image: quay.io/k8scsi/livenessprobe:v1.1.0
94+
image: k8s.gcr.io/sig-storage/livenessprobe:v2.1.0
9395
args:
9496
- --csi-address=/csi/csi.sock
9597
volumeMounts:
@@ -112,3 +114,7 @@ spec:
112114
hostPath:
113115
path: /dev
114116
type: Directory
117+
- name: sys-dir
118+
hostPath:
119+
path: /sys
120+
type: Directory

0 commit comments

Comments
 (0)