Use volumeSpec always

- Deploy the latest storage-provisioner

Change-Id: Ic004cacfe4a51072b58b05489cff25511206adcd
This commit is contained in:
okozachenko 2020-07-29 22:27:57 +03:00
parent 304e2125d6
commit 38859bafea
3 changed files with 57 additions and 2 deletions

View File

@ -40,7 +40,6 @@ spec:
tolerations: tolerations:
- effect: NoSchedule - effect: NoSchedule
key: node-role.kubernetes.io/master key: node-role.kubernetes.io/master
{% if "volumeSpec" in spec %}
volumeSpec: volumeSpec:
persistentVolumeClaim: persistentVolumeClaim:
accessModes: accessModes:
@ -48,4 +47,3 @@ spec:
resources: resources:
requests: requests:
storage: {{ spec.size | default("10Gi", true) }} storage: {{ spec.size | default("10Gi", true) }}
{% endif %}

View File

@ -34,6 +34,9 @@
OS_PASSWORD: secretadmin OS_PASSWORD: secretadmin
OS_REGION_NAME: RegionOne OS_REGION_NAME: RegionOne
EOF EOF
# NOTE(alex): To resolve the minikube issue
# https://github.com/kubernetes/minikube/issues/7218
- include_tasks: storage-provisioner.yaml
- name: Copy mysql operator into devstack working directory - name: Copy mysql operator into devstack working directory
git: git:
repo: https://github.com/presslabs/mysql-operator repo: https://github.com/presslabs/mysql-operator

View File

@ -0,0 +1,54 @@
---
# Copyright (c) 2020 VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Configure the clusterrole for storage-provisioner
shell: |
kubectl patch clusterrole -n kube-system system:persistent-volume-provisioner --type='json' \
-p='[{"op": "add", "path": "/rules/0", "value": {"apiGroups": [""], "resources":["endpoints"], "verbs":["get", "list", "create", "update"]}}]'
- name: Remove the default storage-provisioner
shell: |
kubectl delete po -n kube-system storage-provisioner
- name: Deploy the latest storage-provisioner
shell: |
cat <<EOF | kubectl apply -f-
---
apiVersion: v1
kind: Pod
metadata:
name: storage-provisioner
namespace: kube-system
labels:
integration-test: storage-provisioner
addonmanager.kubernetes.io/mode: Reconcile
spec:
serviceAccountName: storage-provisioner
hostNetwork: true
containers:
- name: storage-provisioner
image: gcr.io/k8s-minikube/storage-provisioner:latest
command: ["/storage-provisioner"]
imagePullPolicy: Always
volumeMounts:
- mountPath: /tmp
name: tmp
volumes:
- name: tmp
hostPath:
path: /tmp
type: Directory
EOF