Skip to content

Commit e1cdb36

Browse files
committed
ci: use local-path in RWX mode
1 parent 6caa151 commit e1cdb36

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

.github/workflows/integration.yaml

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ jobs:
3636
"service-node-port-range": "30000-30005"
3737
nodes:
3838
- role: control-plane
39-
extraMounts:
40-
- hostPath: /var/lib/longhorn
41-
containerPath: /var/lib/longhorn
4239
extraPortMappings:
4340
- containerPort: 80
4441
hostPort: 80
@@ -63,21 +60,18 @@ jobs:
6360
cluster_name: kind
6461
env:
6562
KIND_EXPERIMENTAL_DOCKER_NETWORK: kind
66-
- name: Install NFS Server in Kind
63+
64+
- name: Use local-path RWX mode
6765
run: |
68-
kubectl create deployment nfs-server --image=registry.k8s.io/volume-nfs:0.8
69-
kubectl expose deployment nfs-server --port=2049 --name=nfs-service
66+
# Since v0.0.27 rancher.io/local-path is able to deploy RWX
67+
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.31/deploy/local-path-storage.yaml
7068
71-
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
72-
helm repo update
69+
# Then we patch it such that it works on a single node
70+
# From https://github.com/kubernetes-sigs/kind/issues/1487#issuecomment-2211072952
71+
kubectl -n local-path-storage patch configmap local-path-config -p '{"data": {"config.json": "{\n\"sharedFileSystemPath\": \"/var/local-path-provisioner\"\n}"}}'
7372
74-
helm install nfs-client nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
75-
--namespace nfs-client --create-namespace \
76-
--set nfs.server=nfs-service.default.svc.cluster.local \
77-
--set nfs.path=/export \
78-
--set storageClass.name=nfs-rwx \
79-
--set storageClass.accessModes={ReadWriteMany} \
80-
--set storageClass.defaultClass=true
73+
# Reboot the pod for it to apply update
74+
kubectl delete pod -n local-path-storage $(kubectl get pod -n local-path-storage -o jsonpath='{.items[0].metadata.name}')
8175
8276
- name: Export server URL
8377
id: server
@@ -106,7 +100,8 @@ jobs:
106100
kubeconfig: ~/.kube/config
107101
namespace: romeo-in-ci
108102
tag: ${{ github.sha }}
109-
storage-class-name: nfs-rwx
103+
storage-class-name: local-path
104+
pvc-access-mode: ReadWriteOnce
110105

111106
- name: Romeo environment under test
112107
id: env-test
@@ -117,7 +112,8 @@ jobs:
117112
namespace: ${{ steps.env.outputs.namespace }}
118113
claim-name: ${{ steps.env.outputs.claim-name }}
119114
tag: ${{ github.sha }}
120-
storage-class-name: nfs-rwx
115+
storage-class-name: local-path
116+
pvc-access-mode: ReadWriteOnce
121117

122118
- name: Stimulate
123119
run: |

0 commit comments

Comments
 (0)