Merge "ceph - split chart into mon, osd and client"

This commit is contained in:
Zuul 2018-04-30 15:30:05 +00:00 committed by Gerrit Code Review
commit 3d653d9ea4
90 changed files with 1143 additions and 360 deletions

18
ceph-client/Chart.yaml Normal file
View File

@ -0,0 +1,18 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
apiVersion: v1
description: OpenStack-Helm Ceph Client
name: ceph-client
version: 0.1.0

View File

@ -0,0 +1,51 @@
#!/bin/bash
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
set -ex
export LC_ALL=C
: "${HOSTNAME:=$(uname -n)}"
: "${MGR_NAME:=${HOSTNAME}}"
: "${RGW_NAME:=${HOSTNAME}}"
: "${MDS_NAME:=mds-${HOSTNAME}}"
: "${MDS_BOOTSTRAP_KEYRING:=/var/lib/ceph/bootstrap-mds/${CLUSTER}.keyring}"
: "${RGW_BOOTSTRAP_KEYRING:=/var/lib/ceph/bootstrap-rgw/${CLUSTER}.keyring}"
: "${OSD_BOOTSTRAP_KEYRING:=/var/lib/ceph/bootstrap-osd/${CLUSTER}.keyring}"
for keyring in ${OSD_BOOTSTRAP_KEYRING} ${MDS_BOOTSTRAP_KEYRING} ${RGW_BOOTSTRAP_KEYRING}; do
mkdir -p "$(dirname "$keyring")"
done
# Let's create the ceph directories
for DIRECTORY in mds radosgw tmp mgr; do
mkdir -p "/var/lib/ceph/${DIRECTORY}"
done
# Create socket directory
mkdir -p /run/ceph
# Creating rados directories
mkdir -p "/var/lib/ceph/radosgw/${RGW_NAME}"
# Create the MDS directory
mkdir -p "/var/lib/ceph/mds/${CLUSTER}-${MDS_NAME}"
# Create the MGR directory
mkdir -p "/var/lib/ceph/mgr/${CLUSTER}-${MGR_NAME}"
# Adjust the owner of all those directories
chown -R ceph. /run/ceph/ /var/lib/ceph/*

View File

@ -20,7 +20,7 @@ limitations under the License.
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: ceph-bin-ks name: ceph-client-bin-ks
data: data:
ks-service.sh: | ks-service.sh: |
{{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }} {{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }}

View File

@ -14,13 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/}} */}}
{{- if and .Values.manifests.configmap_bin_clients .Values.deployment.client_secrets }} {{- if and .Values.manifests.configmap_bin .Values.deployment.client_secrets }}
{{- $envAll := . }} {{- $envAll := . }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: ceph-bin-clients name: ceph-client-bin-provisioner
data: data:
provisioner-rbd-namespace-client-key-manager.sh: | provisioner-rbd-namespace-client-key-manager.sh: |
{{ tuple "bin/provisioner/rbd/_namespace-client-key-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/provisioner/rbd/_namespace-client-key-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}

View File

@ -14,13 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/}} */}}
{{- if and .Values.manifests.configmap_bin .Values.deployment.ceph }} {{- if and .Values.manifests.configmap_bin_common .Values.deployment.ceph }}
{{- $envAll := . }} {{- $envAll := . }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: ceph-bin name: ceph-client-bin
data: data:
{{- if .Values.bootstrap.enabled }} {{- if .Values.bootstrap.enabled }}
bootstrap.sh: | bootstrap.sh: |
@ -35,13 +35,6 @@ data:
pool-calc.py: | pool-calc.py: |
{{ tuple "bin/pool/_calc.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/pool/_calc.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-bootstrap-keyring-generator.py: |
{{ tuple "bin/keys/_bootstrap-keyring-generator.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-bootstrap-keyring-manager.sh: |
{{ tuple "bin/keys/_bootstrap-keyring-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-storage-keyring-manager.sh: |
{{ tuple "bin/keys/_storage-keyring-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mds-start.sh: | mds-start.sh: |
{{ tuple "bin/mds/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/mds/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
@ -50,31 +43,6 @@ data:
mgr-check.sh: | mgr-check.sh: |
{{ tuple "bin/mgr/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/mgr/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-start.sh: |
{{ tuple "bin/mon/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-stop.sh: |
{{ tuple "bin/mon/_stop.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-check.sh: |
{{ tuple "bin/mon/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
moncheck-start.sh: |
{{ tuple "bin/moncheck/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
moncheck-reap-zombies.py: |
{{ tuple "bin/moncheck/_reap-zombies.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-start.sh: |
{{ tuple "bin/osd/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-directory.sh: |
{{ tuple "bin/osd/_directory.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-block.sh: |
{{ tuple "bin/osd/_block.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-init.sh: |
{{ tuple "bin/osd/_init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-check.sh: |
{{ tuple "bin/osd/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-stop.sh: |
{{ tuple "bin/osd/_stop.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
provisioner-cephfs-start.sh: | provisioner-cephfs-start.sh: |
{{ tuple "bin/provisioner/cephfs/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/provisioner/cephfs/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
provisioner-cephfs-client-key-manager.sh: | provisioner-cephfs-client-key-manager.sh: |
@ -89,3 +57,4 @@ data:
{{ tuple "bin/rgw/_init_keystone.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} {{ tuple "bin/rgw/_init_keystone.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- end }} {{- end }}

View File

@ -163,13 +163,13 @@ spec:
command: command:
- /tmp/provisioner-cephfs-start.sh - /tmp/provisioner-cephfs-start.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/provisioner-cephfs-start.sh mountPath: /tmp/provisioner-cephfs-start.sh
subPath: provisioner-cephfs-start.sh subPath: provisioner-cephfs-start.sh
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
{{- end }} {{- end }}

View File

@ -49,7 +49,7 @@ spec:
- name: CLUSTER - name: CLUSTER
value: "ceph" value: "ceph"
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/init-dirs.sh mountPath: /tmp/init-dirs.sh
subPath: init-dirs.sh subPath: init-dirs.sh
readOnly: true readOnly: true
@ -83,7 +83,7 @@ spec:
port: 6800 port: 6800
timeoutSeconds: 5 timeoutSeconds: 5
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/mds-start.sh mountPath: /tmp/mds-start.sh
subPath: mds-start.sh subPath: mds-start.sh
readOnly: true readOnly: true
@ -110,9 +110,9 @@ spec:
configMap: configMap:
name: ceph-etc name: ceph-etc
defaultMode: 0444 defaultMode: 0444
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
- name: pod-var-lib-ceph - name: pod-var-lib-ceph
emptyDir: {} emptyDir: {}

View File

@ -52,7 +52,7 @@ spec:
- name: CLUSTER - name: CLUSTER
value: "ceph" value: "ceph"
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/init-dirs.sh mountPath: /tmp/init-dirs.sh
subPath: init-dirs.sh subPath: init-dirs.sh
readOnly: true readOnly: true
@ -111,11 +111,11 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
timeoutSeconds: 5 timeoutSeconds: 5
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /mgr-start.sh mountPath: /mgr-start.sh
subPath: mgr-start.sh subPath: mgr-start.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/mgr-check.sh mountPath: /tmp/mgr-check.sh
subPath: mgr-check.sh subPath: mgr-check.sh
readOnly: true readOnly: true
@ -142,9 +142,9 @@ spec:
volumes: volumes:
- name: pod-etc-ceph - name: pod-etc-ceph
emptyDir: {} emptyDir: {}
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-etc - name: ceph-etc
configMap: configMap:

View File

@ -153,13 +153,13 @@ spec:
command: command:
- /tmp/provisioner-rbd-start.sh - /tmp/provisioner-rbd-start.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/provisioner-rbd-start.sh mountPath: /tmp/provisioner-rbd-start.sh
subPath: provisioner-rbd-start.sh subPath: provisioner-rbd-start.sh
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
{{- end }} {{- end }}

View File

@ -48,7 +48,7 @@ spec:
- name: CLUSTER - name: CLUSTER
value: "ceph" value: "ceph"
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/init-dirs.sh mountPath: /tmp/init-dirs.sh
subPath: init-dirs.sh subPath: init-dirs.sh
readOnly: true readOnly: true
@ -83,7 +83,7 @@ spec:
volumeMounts: volumeMounts:
- name: pod-etc-ceph - name: pod-etc-ceph
mountPath: /etc/ceph mountPath: /etc/ceph
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/rgw-init-keystone.sh mountPath: /tmp/rgw-init-keystone.sh
subPath: rgw-init-keystone.sh subPath: rgw-init-keystone.sh
readOnly: true readOnly: true
@ -118,7 +118,7 @@ spec:
port: {{ .Values.network.port.rgw }} port: {{ .Values.network.port.rgw }}
timeoutSeconds: 5 timeoutSeconds: 5
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/rgw-start.sh mountPath: /tmp/rgw-start.sh
subPath: rgw-start.sh subPath: rgw-start.sh
readOnly: true readOnly: true
@ -147,9 +147,9 @@ spec:
volumes: volumes:
- name: pod-etc-ceph - name: pod-etc-ceph
emptyDir: {} emptyDir: {}
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-etc - name: ceph-etc
configMap: configMap:

View File

@ -0,0 +1,72 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- if and .Values.manifests.job_bootstrap .Values.bootstrap.enabled }}
{{- $envAll := . }}
{{- $dependencies := .Values.dependencies.static.bootstrap }}
{{- $serviceAccountName := "ceph-client-bootstrap"}}
{{ tuple $envAll $dependencies $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
---
apiVersion: batch/v1
kind: Job
metadata:
name: ceph-client-bootstrap
spec:
template:
metadata:
labels:
{{ tuple $envAll "ceph" "bootstrap" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
spec:
serviceAccountName: {{ $serviceAccountName }}
restartPolicy: OnFailure
nodeSelector:
{{ .Values.labels.job.node_selector_key }}: {{ .Values.labels.job.node_selector_value }}
initContainers:
{{ tuple $envAll $dependencies list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
containers:
- name: ceph-client-bootstrap
image: {{ .Values.images.tags.ceph_bootstrap }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{ tuple $envAll $envAll.Values.pod.resources.jobs.bootstrap | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
command:
- /tmp/bootstrap.sh
volumeMounts:
- name: ceph-client-bin
mountPath: /tmp/bootstrap.sh
subPath: bootstrap.sh
readOnly: true
- name: ceph-etc
mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf
readOnly: true
- name: ceph-client-admin-keyring
mountPath: /etc/ceph/ceph.client.admin.keyring
subPath: ceph.client.admin.keyring
readOnly: true
volumes:
- name: ceph-client-bin
configMap:
name: ceph-client-bin
defaultMode: 0555
- name: ceph-etc
configMap:
name: ceph-etc
defaultMode: 0444
- name: ceph-client-admin-keyring
secret:
secretName: {{ .Values.secrets.keyrings.admin }}
{{- end }}

View File

@ -114,13 +114,13 @@ spec:
command: command:
- /tmp/provisioner-cephfs-client-key-manager.sh - /tmp/provisioner-cephfs-client-key-manager.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/provisioner-cephfs-client-key-manager.sh mountPath: /tmp/provisioner-cephfs-client-key-manager.sh
subPath: provisioner-cephfs-client-key-manager.sh subPath: provisioner-cephfs-client-key-manager.sh
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
{{- end }} {{- end }}

View File

@ -15,6 +15,6 @@ limitations under the License.
*/}} */}}
{{- if and .Values.manifests.job_ks_endpoints .Values.deployment.rgw_keystone_user_and_endpoints }} {{- if and .Values.manifests.job_ks_endpoints .Values.deployment.rgw_keystone_user_and_endpoints }}
{{- $ksServiceJob := dict "envAll" . "configMapBin" "ceph-bin-ks" "serviceName" "ceph" "serviceTypes" ( tuple "object-store" ) -}} {{- $ksServiceJob := dict "envAll" . "configMapBin" "ceph-client-bin-ks" "serviceName" "ceph" "serviceTypes" ( tuple "object-store" ) -}}
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }} {{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }}
{{- end }} {{- end }}

View File

@ -15,6 +15,6 @@ limitations under the License.
*/}} */}}
{{- if and .Values.manifests.job_ks_service .Values.deployment.rgw_keystone_user_and_endpoints }} {{- if and .Values.manifests.job_ks_service .Values.deployment.rgw_keystone_user_and_endpoints }}
{{- $ksServiceJob := dict "envAll" . "configMapBin" "ceph-bin-ks" "serviceName" "ceph" "serviceTypes" ( tuple "object-store" ) -}} {{- $ksServiceJob := dict "envAll" . "configMapBin" "ceph-client-bin-ks" "serviceName" "ceph" "serviceTypes" ( tuple "object-store" ) -}}
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }} {{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }}
{{- end }} {{- end }}

View File

@ -15,6 +15,6 @@ limitations under the License.
*/}} */}}
{{- if and .Values.manifests.job_ks_user .Values.deployment.rgw_keystone_user_and_endpoints }} {{- if and .Values.manifests.job_ks_user .Values.deployment.rgw_keystone_user_and_endpoints }}
{{- $ksUserJob := dict "envAll" . "configMapBin" "ceph-bin-ks" "serviceName" "ceph" "serviceUser" "swift" -}} {{- $ksUserJob := dict "envAll" . "configMapBin" "ceph-client-bin-ks" "serviceName" "ceph" "serviceUser" "swift" -}}
{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }} {{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
{{- end }} {{- end }}

View File

@ -87,13 +87,13 @@ spec:
command: command:
- /tmp/provisioner-rbd-namespace-client-key-cleaner.sh - /tmp/provisioner-rbd-namespace-client-key-cleaner.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin-provisioner
mountPath: /tmp/provisioner-rbd-namespace-client-key-cleaner.sh mountPath: /tmp/provisioner-rbd-namespace-client-key-cleaner.sh
subPath: provisioner-rbd-namespace-client-key-cleaner.sh subPath: provisioner-rbd-namespace-client-key-cleaner.sh
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-client-bin-provisioner
configMap: configMap:
name: ceph-bin-clients name: ceph-client-bin-provisioner
defaultMode: 0555 defaultMode: 0555
{{- end }} {{- end }}

View File

@ -114,13 +114,13 @@ spec:
command: command:
- /tmp/provisioner-rbd-namespace-client-key-manager.sh - /tmp/provisioner-rbd-namespace-client-key-manager.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin-provisioner
mountPath: /tmp/provisioner-rbd-namespace-client-key-manager.sh mountPath: /tmp/provisioner-rbd-namespace-client-key-manager.sh
subPath: provisioner-rbd-namespace-client-key-manager.sh subPath: provisioner-rbd-namespace-client-key-manager.sh
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-client-bin-provisioner
configMap: configMap:
name: ceph-bin-clients name: ceph-client-bin-provisioner
defaultMode: 0555 defaultMode: 0555
{{- end }} {{- end }}

View File

@ -51,11 +51,11 @@ spec:
command: command:
- /tmp/pool-init.sh - /tmp/pool-init.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/pool-init.sh mountPath: /tmp/pool-init.sh
subPath: pool-init.sh subPath: pool-init.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-client-bin
mountPath: /tmp/pool-calc.py mountPath: /tmp/pool-calc.py
subPath: pool-calc.py subPath: pool-calc.py
readOnly: true readOnly: true
@ -78,9 +78,9 @@ spec:
configMap: configMap:
name: ceph-etc name: ceph-etc
defaultMode: 0444 defaultMode: 0444
- name: ceph-bin - name: ceph-client-bin
configMap: configMap:
name: ceph-bin name: ceph-client-bin
defaultMode: 0555 defaultMode: 0555
- name: pod-var-lib-ceph - name: pod-var-lib-ceph
emptyDir: {} emptyDir: {}

View File

@ -14,8 +14,7 @@
deployment: deployment:
ceph: true ceph: true
storage_secrets: true client_secrets: false
client_secrets: true
rbd_provisioner: true rbd_provisioner: true
cephfs_provisioner: true cephfs_provisioner: true
rgw_keystone_user_and_endpoints: false rgw_keystone_user_and_endpoints: false
@ -28,9 +27,6 @@ images:
ceph_config_helper: 'docker.io/port/ceph-config-helper:v1.10.1' ceph_config_helper: 'docker.io/port/ceph-config-helper:v1.10.1'
ceph_mds: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04' ceph_mds: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_mgr: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04' ceph_mgr: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_mon: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_mon_check: 'docker.io/port/ceph-config-helper:v1.10.1'
ceph_osd: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_rbd_pool: 'docker.io/port/ceph-config-helper:v1.10.1' ceph_rbd_pool: 'docker.io/port/ceph-config-helper:v1.10.1'
ceph_rbd_provisioner: 'quay.io/external_storage/rbd-provisioner:v0.1.1' ceph_rbd_provisioner: 'quay.io/external_storage/rbd-provisioner:v0.1.1'
ceph_rgw: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04' ceph_rgw: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
@ -46,15 +42,9 @@ labels:
provisioner: provisioner:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
node_selector_value: enabled node_selector_value: enabled
mon:
node_selector_key: ceph-mon
node_selector_value: enabled
mds: mds:
node_selector_key: ceph-mds node_selector_key: ceph-mds
node_selector_value: enabled node_selector_value: enabled
osd:
node_selector_key: ceph-osd
node_selector_value: enabled
rgw: rgw:
node_selector_key: ceph-rgw node_selector_key: ceph-rgw
node_selector_value: enabled node_selector_value: enabled
@ -66,7 +56,6 @@ pod:
dns_policy: "ClusterFirstWithHostNet" dns_policy: "ClusterFirstWithHostNet"
replicas: replicas:
rgw: 1 rgw: 1
mon_check: 1
rbd_provisioner: 2 rbd_provisioner: 2
cephfs_provisioner: 2 cephfs_provisioner: 2
mgr: 1 mgr: 1
@ -78,13 +67,6 @@ pod:
default: kubernetes.io/hostname default: kubernetes.io/hostname
resources: resources:
enabled: false enabled: false
osd:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "1024Mi"
cpu: "1000m"
mds: mds:
requests: requests:
memory: "10Mi" memory: "10Mi"
@ -92,20 +74,6 @@ pod:
limits: limits:
memory: "50Mi" memory: "50Mi"
cpu: "500m" cpu: "500m"
mon:
requests:
memory: "50Mi"
cpu: "250m"
limits:
memory: "100Mi"
cpu: "500m"
mon_check:
requests:
memory: "5Mi"
cpu: "250m"
limits:
memory: "50Mi"
cpu: "500m"
rgw: rgw:
requests: requests:
memory: "5Mi" memory: "5Mi"
@ -142,13 +110,6 @@ pod:
requests: requests:
memory: "128Mi" memory: "128Mi"
cpu: "500m" cpu: "500m"
secret_provisioning:
limits:
memory: "1024Mi"
cpu: "2000m"
requests:
memory: "128Mi"
cpu: "500m"
ks_endpoints: ks_endpoints:
requests: requests:
memory: "128Mi" memory: "128Mi"
@ -193,37 +154,6 @@ network:
mgr: 7000 mgr: 7000
conf: conf:
templates:
keyring:
admin: |
[client.admin]
key = {{ key }}
auid = 0
caps mds = "allow"
caps mon = "allow *"
caps osd = "allow *"
caps mgr = "allow *"
mon: |
[mon.]
key = {{ key }}
caps mon = "allow *"
bootstrap:
mds: |
[client.bootstrap-mds]
key = {{ key }}
caps mon = "allow profile bootstrap-mds"
mgr: |
[client.bootstrap-mgr]
key = {{ key }}
caps mgr = "allow profile bootstrap-mgr"
osd: |
[client.bootstrap-osd]
key = {{ key }}
caps mon = "allow profile bootstrap-osd"
rgw: |
[client.bootstrap-rgw]
key = {{ key }}
caps mon = "allow profile bootstrap-rgw"
features: features:
mds: true mds: true
rgw: true rgw: true
@ -345,45 +275,6 @@ conf:
osd_max_object_name_len: 256 osd_max_object_name_len: 256
ms_bind_port_min: 6800 ms_bind_port_min: 6800
ms_bind_port_max: 7100 ms_bind_port_max: 7100
storage:
mon:
directory: /var/lib/openstack-helm/ceph/mon
# NOTE(portdirect): for homogeneous clusters the `osd` key can be used to
# define OSD pods that will be deployed across the cluster.
osd:
- data:
type: directory
location: /var/lib/openstack-helm/ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one
# - data:
# type: block-logical
# location: /dev/sde
# journal:
# type: block-logical
# location: /dev/sdf
# - data:
# type: block-logical
# location: /dev/sdg
# journal:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/journal-sdg
# NOTE(portdirect): for heterogeneous clusters the overrides section can be used to define
# OSD pods that will be deployed upon specifc nodes.
# overrides:
# ceph_osd:
# hosts:
# - name: host1.fqdn
# conf:
# storage:
# osd:
# - data:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/data-three
# journal:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/journal-three
dependencies: dependencies:
static: static:
@ -400,8 +291,6 @@ dependencies:
services: services:
- endpoint: internal - endpoint: internal
service: ceph_mon service: ceph_mon
job_keyring_generator:
jobs: null
ks_endpoints: ks_endpoints:
jobs: jobs:
- ceph-ks-service - ceph-ks-service
@ -431,28 +320,10 @@ dependencies:
services: services:
- endpoint: internal - endpoint: internal
service: ceph_mon service: ceph_mon
mon:
jobs:
- ceph-storage-keys-generator
- ceph-mon-keyring-generator
moncheck:
jobs:
- ceph-storage-keys-generator
- ceph-mon-keyring-generator
services:
- endpoint: discovery
service: ceph_mon
namespace_client_key_cleaner: namespace_client_key_cleaner:
jobs: null jobs: null
namespace_client_key_generator: namespace_client_key_generator:
jobs: null jobs: null
osd:
jobs:
- ceph-storage-keys-generator
- ceph-osd-keyring-generator
services:
- endpoint: internal
service: ceph_mon
rbd_pool: rbd_pool:
services: services:
- endpoint: internal - endpoint: internal
@ -471,8 +342,6 @@ dependencies:
services: services:
- endpoint: internal - endpoint: internal
service: ceph_mon service: ceph_mon
storage_keys_generator:
jobs: null
bootstrap: bootstrap:
enabled: false enabled: false
@ -618,34 +487,26 @@ monitoring:
port: 9283 port: 9283
manifests: manifests:
configmap_bin_clients: true
configmap_bin_ks: true
configmap_bin: true configmap_bin: true
configmap_bin_ks: true
configmap_bin_common: true
configmap_etc: true configmap_etc: true
configmap_templates: true
daemonset_mon: true
daemonset_osd: true
deployment_mds: true deployment_mds: true
deployment_moncheck: true
deployment_rbd_provisioner: true deployment_rbd_provisioner: true
deployment_cephfs_provisioner: true deployment_cephfs_provisioner: true
deployment_rgw: true deployment_rgw: true
deployment_mgr: true deployment_mgr: true
job_bootstrap: true job_bootstrap: false
job_cephfs_client_key: true job_cephfs_client_key: true
job_keyring: true
job_ks_endpoints: true job_ks_endpoints: true
job_ks_service: true job_ks_service: true
job_ks_user: true job_ks_user: true
job_namespace_client_key_cleaner: true job_namespace_client_key_cleaner: true
job_namespace_client_key: true job_namespace_client_key: true
job_rbd_pool: true job_rbd_pool: true
job_storage_admin_keys: true
secret_keystone_rgw: true secret_keystone_rgw: true
secret_keystone: true secret_keystone: true
service_mgr: true service_mgr: true
service_mon: true
service_mon_discovery: true
service_rgw: true service_rgw: true
storageclass_cephfs: true storageclass_cephfs: true
storageclass_rbd: true storageclass_rbd: true

View File

@ -13,6 +13,6 @@
# limitations under the License. # limitations under the License.
apiVersion: v1 apiVersion: v1
description: OpenStack-Helm Ceph description: OpenStack-Helm Ceph Mon
name: ceph name: ceph-mon
version: 0.1.0 version: 0.1.0

View File

@ -0,0 +1,18 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
dependencies:
- name: helm-toolkit
repository: http://localhost:8879/charts
version: 0.1.0

View File

@ -0,0 +1,20 @@
#!/bin/bash
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
set -ex
{{ .Values.bootstrap.script | default "echo 'Not Enabled'" }}

View File

@ -0,0 +1,52 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- if and .Values.manifests.configmap_bin .Values.deployment.ceph }}
{{- $envAll := . }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: ceph-mon-bin
data:
{{- if .Values.bootstrap.enabled }}
bootstrap.sh: |
{{ tuple "bin/_bootstrap.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- end }}
init-dirs.sh: |
{{ tuple "bin/_init-dirs.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-bootstrap-keyring-generator.py: |
{{ tuple "bin/keys/_bootstrap-keyring-generator.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-bootstrap-keyring-manager.sh: |
{{ tuple "bin/keys/_bootstrap-keyring-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
keys-storage-keyring-manager.sh: |
{{ tuple "bin/keys/_storage-keyring-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-start.sh: |
{{ tuple "bin/mon/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-stop.sh: |
{{ tuple "bin/mon/_stop.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
mon-check.sh: |
{{ tuple "bin/mon/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
moncheck-start.sh: |
{{ tuple "bin/moncheck/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
moncheck-reap-zombies.py: |
{{ tuple "bin/moncheck/_reap-zombies.py.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- end }}

View File

@ -0,0 +1,55 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- define "ceph.configmap.etc" }}
{{- $configMapName := index . 0 }}
{{- $envAll := index . 1 }}
{{- with $envAll }}
{{- if .Values.deployment.ceph }}
{{- if empty .Values.conf.ceph.global.mon_host -}}
{{- $monHost := tuple "ceph_mon" "discovery" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
{{- $monHost | set .Values.conf.ceph.global "mon_host" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.global.fsid -}}
{{- uuidv4 | set .Values.conf.ceph.global "fsid" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.osd.cluster_network -}}
{{- .Values.network.cluster | set .Values.conf.ceph.osd "cluster_network" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.osd.public_network -}}
{{- .Values.network.public | set .Values.conf.ceph.osd "public_network" | quote | trunc 0 -}}
{{- end -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $configMapName }}
data:
ceph.conf: |
{{ include "helm-toolkit.utils.to_ini" .Values.conf.ceph | indent 4 }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.manifests.configmap_etc }}
{{- list "ceph-mon-etc" . | include "ceph.configmap.etc" }}
{{- end }}

View File

@ -73,7 +73,7 @@ spec:
- name: CLUSTER - name: CLUSTER
value: "ceph" value: "ceph"
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/init-dirs.sh mountPath: /tmp/init-dirs.sh
subPath: init-dirs.sh subPath: init-dirs.sh
readOnly: true readOnly: true
@ -140,19 +140,19 @@ spec:
initialDelaySeconds: 60 initialDelaySeconds: 60
periodSeconds: 60 periodSeconds: 60
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/mon-start.sh mountPath: /tmp/mon-start.sh
subPath: mon-start.sh subPath: mon-start.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/mon-stop.sh mountPath: /tmp/mon-stop.sh
subPath: mon-stop.sh subPath: mon-stop.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/mon-check.sh mountPath: /tmp/mon-check.sh
subPath: mon-check.sh subPath: mon-check.sh
readOnly: true readOnly: true
- name: ceph-etc - name: ceph-mon-etc
mountPath: /etc/ceph/ceph.conf mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf subPath: ceph.conf
readOnly: true readOnly: true
@ -183,13 +183,13 @@ spec:
mountPath: /run mountPath: /run
readOnly: false readOnly: false
volumes: volumes:
- name: ceph-bin - name: ceph-mon-bin
configMap: configMap:
name: ceph-bin name: ceph-mon-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-etc - name: ceph-mon-etc
configMap: configMap:
name: ceph-etc name: ceph-mon-etc
defaultMode: 0444 defaultMode: 0444
- name: pod-var-lib-ceph - name: pod-var-lib-ceph
hostPath: hostPath:

View File

@ -59,15 +59,15 @@ spec:
ports: ports:
- containerPort: 6789 - containerPort: 6789
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/moncheck-start.sh mountPath: /tmp/moncheck-start.sh
subPath: moncheck-start.sh subPath: moncheck-start.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/moncheck-reap-zombies.py mountPath: /tmp/moncheck-reap-zombies.py
subPath: moncheck-reap-zombies.py subPath: moncheck-reap-zombies.py
readOnly: true readOnly: true
- name: ceph-etc - name: ceph-mon-etc
mountPath: /etc/ceph/ceph.conf mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf subPath: ceph.conf
readOnly: true readOnly: true
@ -86,13 +86,13 @@ spec:
mountPath: /run mountPath: /run
readOnly: false readOnly: false
volumes: volumes:
- name: ceph-etc - name: ceph-mon-etc
configMap: configMap:
name: ceph-etc name: ceph-mon-etc
defaultMode: 0444 defaultMode: 0444
- name: ceph-bin - name: ceph-mon-bin
configMap: configMap:
name: ceph-bin name: ceph-mon-bin
defaultMode: 0555 defaultMode: 0555
- name: pod-var-lib-ceph - name: pod-var-lib-ceph
emptyDir: {} emptyDir: {}

View File

@ -45,11 +45,11 @@ spec:
command: command:
- /tmp/bootstrap.sh - /tmp/bootstrap.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/bootstrap.sh mountPath: /tmp/bootstrap.sh
subPath: bootstrap.sh subPath: bootstrap.sh
readOnly: true readOnly: true
- name: ceph-etc - name: ceph-mon-etc
mountPath: /etc/ceph/ceph.conf mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf subPath: ceph.conf
readOnly: true readOnly: true
@ -58,13 +58,13 @@ spec:
subPath: ceph.client.admin.keyring subPath: ceph.client.admin.keyring
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-mon-bin
configMap: configMap:
name: ceph-bin name: ceph-mon-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-etc - name: ceph-mon-etc
configMap: configMap:
name: ceph-etc name: ceph-mon-etc
defaultMode: 0444 defaultMode: 0444
- name: ceph-client-admin-keyring - name: ceph-client-admin-keyring
secret: secret:

View File

@ -98,11 +98,11 @@ spec:
command: command:
- /tmp/keys-bootstrap-keyring-manager.sh - /tmp/keys-bootstrap-keyring-manager.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/keys-bootstrap-keyring-manager.sh mountPath: /tmp/keys-bootstrap-keyring-manager.sh
subPath: keys-bootstrap-keyring-manager.sh subPath: keys-bootstrap-keyring-manager.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/keys-bootstrap-keyring-generator.py mountPath: /tmp/keys-bootstrap-keyring-generator.py
subPath: keys-bootstrap-keyring-generator.py subPath: keys-bootstrap-keyring-generator.py
readOnly: true readOnly: true
@ -110,9 +110,9 @@ spec:
mountPath: /tmp/templates mountPath: /tmp/templates
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-mon-bin
configMap: configMap:
name: ceph-bin name: ceph-mon-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-templates - name: ceph-templates
configMap: configMap:

View File

@ -89,11 +89,11 @@ spec:
command: command:
- /tmp/keys-storage-keyring-manager.sh - /tmp/keys-storage-keyring-manager.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/keys-storage-keyring-manager.sh mountPath: /tmp/keys-storage-keyring-manager.sh
subPath: keys-storage-keyring-manager.sh subPath: keys-storage-keyring-manager.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-mon-bin
mountPath: /tmp/keys-bootstrap-keyring-generator.py mountPath: /tmp/keys-bootstrap-keyring-generator.py
subPath: keys-bootstrap-keyring-generator.py subPath: keys-bootstrap-keyring-generator.py
readOnly: true readOnly: true
@ -101,9 +101,9 @@ spec:
mountPath: /tmp/templates mountPath: /tmp/templates
readOnly: true readOnly: true
volumes: volumes:
- name: ceph-bin - name: ceph-mon-bin
configMap: configMap:
name: ceph-bin name: ceph-mon-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-templates - name: ceph-templates
configMap: configMap:

228
ceph-mon/values.yaml Normal file
View File

@ -0,0 +1,228 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
deployment:
ceph: true
storage_secrets: true
images:
pull_policy: IfNotPresent
tags:
ceph_bootstrap: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_config_helper: 'docker.io/port/ceph-config-helper:v1.10.1'
ceph_mon: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_mon_check: 'docker.io/port/ceph-config-helper:v1.10.1'
dep_check: 'quay.io/stackanetes/kubernetes-entrypoint:v0.3.0'
labels:
job:
node_selector_key: openstack-control-plane
node_selector_value: enabled
mon:
node_selector_key: ceph-mon
node_selector_value: enabled
pod:
dns_policy: "ClusterFirstWithHostNet"
replicas:
mon_check: 1
affinity:
anti:
type:
default: preferredDuringSchedulingIgnoredDuringExecution
topologyKey:
default: kubernetes.io/hostname
resources:
enabled: false
mon:
requests:
memory: "50Mi"
cpu: "250m"
limits:
memory: "100Mi"
cpu: "500m"
mon_check:
requests:
memory: "5Mi"
cpu: "250m"
limits:
memory: "50Mi"
cpu: "500m"
jobs:
bootstrap:
limits:
memory: "1024Mi"
cpu: "2000m"
requests:
memory: "128Mi"
cpu: "500m"
secret_provisioning:
limits:
memory: "1024Mi"
cpu: "2000m"
requests:
memory: "128Mi"
cpu: "500m"
secrets:
keyrings:
mon: ceph-mon-keyring
mds: ceph-bootstrap-mds-keyring
osd: ceph-bootstrap-osd-keyring
rgw: ceph-bootstrap-rgw-keyring
mgr: ceph-bootstrap-mgr-keyring
admin: ceph-client-admin-keyring
network:
public: 192.168.0.0/16
cluster: 192.168.0.0/16
port:
mon: 6789
conf:
templates:
keyring:
admin: |
[client.admin]
key = {{ key }}
auid = 0
caps mds = "allow"
caps mon = "allow *"
caps osd = "allow *"
caps mgr = "allow *"
mon: |
[mon.]
key = {{ key }}
caps mon = "allow *"
bootstrap:
mds: |
[client.bootstrap-mds]
key = {{ key }}
caps mon = "allow profile bootstrap-mds"
mgr: |
[client.bootstrap-mgr]
key = {{ key }}
caps mgr = "allow profile bootstrap-mgr"
osd: |
[client.bootstrap-osd]
key = {{ key }}
caps mon = "allow profile bootstrap-osd"
rgw: |
[client.bootstrap-rgw]
key = {{ key }}
caps mon = "allow profile bootstrap-rgw"
ceph:
global:
# auth
cephx: true
cephx_require_signatures: false
cephx_cluster_require_signatures: true
cephx_service_require_signatures: false
osd:
osd_mkfs_type: xfs
osd_mkfs_options_xfs: -f -i size=2048
osd_max_object_name_len: 256
ms_bind_port_min: 6800
ms_bind_port_max: 7100
storage:
mon:
directory: /var/lib/openstack-helm/ceph/mon
dependencies:
static:
bootstrap:
jobs: null
services:
- endpoint: internal
service: ceph_mon
job_keyring_generator:
jobs: null
mon:
jobs:
- ceph-storage-keys-generator
- ceph-mon-keyring-generator
moncheck:
jobs:
- ceph-storage-keys-generator
- ceph-mon-keyring-generator
services:
- endpoint: discovery
service: ceph_mon
storage_keys_generator:
jobs: null
bootstrap:
enabled: false
script: |
ceph -s
function ensure_pool () {
ceph osd pool stats $1 || ceph osd pool create $1 $2
local test_luminous=$(ceph tell osd.* version | egrep -c "12.2|luminous")
if [[ ${test_luminous} -gt 0 ]]; then
ceph osd pool application enable $1 $3
fi
}
#ensure_pool volumes 8 cinder
# if you change provision_storage_class to false
# it is presumed you manage your own storage
# class definition externally
storageclass:
rbd:
provision_storage_class: true
provisioner: ceph.com/rbd
name: general
monitors: null
pool: rbd
admin_id: admin
admin_secret_name: pvc-ceph-conf-combined-storageclass
admin_secret_namespace: ceph
user_id: admin
user_secret_name: pvc-ceph-client-key
image_format: "2"
image_features: layering
cephfs:
provision_storage_class: true
provisioner: ceph.com/cephfs
name: cephfs
admin_id: admin
user_secret_name: pvc-ceph-cephfs-client-key
admin_secret_name: pvc-ceph-conf-combined-storageclass
admin_secret_namespace: ceph
endpoints:
cluster_domain_suffix: cluster.local
ceph_mon:
namespace: null
hosts:
default: ceph-mon
discovery: ceph-mon-discovery
host_fqdn_override:
default: null
port:
mon:
default: 6789
manifests:
configmap_bin: true
configmap_etc: true
configmap_templates: true
daemonset_mon: true
deployment_moncheck: true
deployment_rgw: true
job_bootstrap: true
job_keyring: true
service_mon: true
service_mon_discovery: true
job_storage_admin_keys: true

18
ceph-osd/Chart.yaml Normal file
View File

@ -0,0 +1,18 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
apiVersion: v1
description: OpenStack-Helm Ceph OSD
name: ceph-osd
version: 0.1.0

View File

@ -0,0 +1,18 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
dependencies:
- name: helm-toolkit
repository: http://localhost:8879/charts
version: 0.1.0

View File

@ -0,0 +1,34 @@
#!/bin/bash
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
set -ex
export LC_ALL=C
: "${OSD_BOOTSTRAP_KEYRING:=/var/lib/ceph/bootstrap-osd/${CLUSTER}.keyring}"
mkdir -p "$(dirname "${OSD_BOOTSTRAP_KEYRING}")"
# Let's create the ceph directories
for DIRECTORY in osd tmp; do
mkdir -p "/var/lib/ceph/${DIRECTORY}"
done
# Create socket directory
mkdir -p /run/ceph
# Adjust the owner of all those directories
chown -R ceph. /run/ceph/ /var/lib/ceph/*

View File

@ -0,0 +1,39 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- if .Values.manifests.configmap_bin }}
{{- $envAll := . }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: ceph-osd-bin
data:
osd-start.sh: |
{{ tuple "bin/osd/_start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-directory.sh: |
{{ tuple "bin/osd/_directory.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-block.sh: |
{{ tuple "bin/osd/_block.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-init.sh: |
{{ tuple "bin/osd/_init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-check.sh: |
{{ tuple "bin/osd/_check.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
osd-stop.sh: |
{{ tuple "bin/osd/_stop.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
init-dirs.sh: |
{{ tuple "bin/_init-dirs.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- end }}

View File

@ -0,0 +1,52 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- define "ceph.osd.configmap.etc" }}
{{- $configMapName := index . 0 }}
{{- $envAll := index . 1 }}
{{- with $envAll }}
{{- if empty .Values.conf.ceph.global.mon_host -}}
{{- $monHost := tuple "ceph_mon" "discovery" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
{{- $monHost | set .Values.conf.ceph.global "mon_host" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.global.fsid -}}
{{- uuidv4 | set .Values.conf.ceph.global "fsid" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.osd.cluster_network -}}
{{- .Values.network.cluster | set .Values.conf.ceph.osd "cluster_network" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.ceph.osd.public_network -}}
{{- .Values.network.public | set .Values.conf.ceph.osd "public_network" | quote | trunc 0 -}}
{{- end -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $configMapName }}
data:
ceph.conf: |
{{ include "helm-toolkit.utils.to_ini" .Values.conf.ceph | indent 4 }}
{{- end }}
{{- end }}
{{- if .Values.manifests.configmap_etc }}
{{- list "ceph-osd-etc" . | include "ceph.osd.configmap.etc" }}
{{- end }}

View File

@ -60,7 +60,7 @@ spec:
- name: CLUSTER - name: CLUSTER
value: "ceph" value: "ceph"
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/init-dirs.sh mountPath: /tmp/init-dirs.sh
subPath: init-dirs.sh subPath: init-dirs.sh
readOnly: true readOnly: true
@ -94,11 +94,11 @@ spec:
command: command:
- /tmp/osd-init.sh - /tmp/osd-init.sh
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-init.sh mountPath: /tmp/osd-init.sh
subPath: osd-init.sh subPath: osd-init.sh
readOnly: true readOnly: true
- name: ceph-etc - name: ceph-osd-etc
mountPath: /etc/ceph/ceph.conf mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf subPath: ceph.conf
readOnly: true readOnly: true
@ -168,27 +168,27 @@ spec:
initialDelaySeconds: 60 initialDelaySeconds: 60
periodSeconds: 60 periodSeconds: 60
volumeMounts: volumeMounts:
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-start.sh mountPath: /tmp/osd-start.sh
subPath: osd-start.sh subPath: osd-start.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-directory.sh mountPath: /tmp/osd-directory.sh
subPath: osd-directory.sh subPath: osd-directory.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-block.sh mountPath: /tmp/osd-block.sh
subPath: osd-block.sh subPath: osd-block.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-check.sh mountPath: /tmp/osd-check.sh
subPath: osd-check.sh subPath: osd-check.sh
readOnly: true readOnly: true
- name: ceph-bin - name: ceph-osd-bin
mountPath: /tmp/osd-stop.sh mountPath: /tmp/osd-stop.sh
subPath: osd-stop.sh subPath: osd-stop.sh
readOnly: true readOnly: true
- name: ceph-etc - name: ceph-osd-etc
mountPath: /etc/ceph/ceph.conf mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf subPath: ceph.conf
readOnly: true readOnly: true
@ -226,11 +226,11 @@ spec:
- name: pod-run - name: pod-run
emptyDir: emptyDir:
medium: "Memory" medium: "Memory"
- name: ceph-bin - name: ceph-osd-bin
configMap: configMap:
name: ceph-bin name: ceph-osd-bin
defaultMode: 0555 defaultMode: 0555
- name: ceph-etc - name: ceph-osd-etc
configMap: configMap:
name: {{ $configMapName }} name: {{ $configMapName }}
defaultMode: 0444 defaultMode: 0444
@ -249,13 +249,13 @@ spec:
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if and .Values.manifests.daemonset_osd .Values.deployment.ceph }} {{- if .Values.manifests.daemonset_osd }}
{{- $daemonset := "osd" }} {{- $daemonset := "osd" }}
{{- $configMapName := "ceph-etc" }} {{- $configMapName := "ceph-osd-etc" }}
{{- $serviceAccountName := "ceph-osd"}} {{- $serviceAccountName := "ceph-osd"}}
{{- $dependencies := .Values.dependencies.static.osd }} {{- $dependencies := .Values.dependencies.static.osd }}
{{ tuple . $dependencies $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} {{ tuple . $dependencies $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
{{- $daemonset_yaml := list $daemonset $configMapName $serviceAccountName $dependencies . | include "ceph.osd.daemonset" | toString | fromYaml }} {{- $daemonset_yaml := list $daemonset $configMapName $serviceAccountName $dependencies . | include "ceph.osd.daemonset" | toString | fromYaml }}
{{- $configmap_yaml := "ceph.configmap.etc" }} {{- $configmap_yaml := "ceph.osd.configmap.etc" }}
{{- list $daemonset $daemonset_yaml $configmap_yaml $configMapName . | include "ceph.utils.osd_daemonset_overrides" }} {{- list $daemonset $daemonset_yaml $configmap_yaml $configMapName . | include "ceph.utils.osd_daemonset_overrides" }}
{{- end }} {{- end }}

150
ceph-osd/values.yaml Normal file
View File

@ -0,0 +1,150 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
images:
pull_policy: IfNotPresent
tags:
ceph_osd: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
ceph_bootstrap: 'docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04'
dep_check: 'quay.io/stackanetes/kubernetes-entrypoint:v0.3.0'
labels:
job:
node_selector_key: openstack-control-plane
node_selector_value: enabled
osd:
node_selector_key: ceph-osd
node_selector_value: enabled
pod:
dns_policy: "ClusterFirstWithHostNet"
affinity:
anti:
type:
default: preferredDuringSchedulingIgnoredDuringExecution
topologyKey:
default: kubernetes.io/hostname
resources:
enabled: false
osd:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "1024Mi"
cpu: "1000m"
secrets:
keyrings:
osd: ceph-bootstrap-osd-keyring
network:
public: 192.168.0.0/16
cluster: 192.168.0.0/16
port:
mon: 6789
rgw: 8088
mgr: 7000
conf:
ceph:
global:
# auth
cephx: true
cephx_require_signatures: false
cephx_cluster_require_signatures: true
cephx_service_require_signatures: false
osd:
osd_mkfs_type: xfs
osd_mkfs_options_xfs: -f -i size=2048
osd_max_object_name_len: 256
ms_bind_port_min: 6800
ms_bind_port_max: 7100
storage:
# NOTE(portdirect): for homogeneous clusters the `osd` key can be used to
# define OSD pods that will be deployed across the cluster.
osd:
- data:
type: directory
location: /var/lib/openstack-helm/ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one
# - data:
# type: block-logical
# location: /dev/sde
# journal:
# type: block-logical
# location: /dev/sdf
# - data:
# type: block-logical
# location: /dev/sdg
# journal:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/journal-sdg
# NOTE(portdirect): for heterogeneous clusters the overrides section can be used to define
# OSD pods that will be deployed upon specifc nodes.
# overrides:
# ceph_osd:
# hosts:
# - name: host1.fqdn
# conf:
# storage:
# osd:
# - data:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/data-three
# journal:
# type: directory
# location: /var/lib/openstack-helm/ceph/osd/journal-three
dependencies:
static:
osd:
jobs:
- ceph-storage-keys-generator
- ceph-osd-keyring-generator
services:
- endpoint: internal
service: ceph_mon
bootstrap:
enabled: false
script: |
ceph -s
function ensure_pool () {
ceph osd pool stats $1 || ceph osd pool create $1 $2
local test_luminous=$(ceph tell osd.* version | egrep -c "12.2|luminous")
if [[ ${test_luminous} -gt 0 ]]; then
ceph osd pool application enable $1 $3
fi
}
#ensure_pool volumes 8 cinder
endpoints:
cluster_domain_suffix: cluster.local
ceph_mon:
namespace: null
hosts:
default: ceph-mon
discovery: ceph-mon-discovery
host_fqdn_override:
default: null
port:
mon:
default: 6789
manifests:
configmap_bin: true
configmap_etc: true
daemonset_osd: true

1
ceph/.gitignore vendored
View File

@ -1 +0,0 @@
secrets/*

View File

@ -1,26 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
secrets/
patches/
*.py
Makefile

View File

@ -19,10 +19,10 @@ data:
schema: armada/Chart/v1 schema: armada/Chart/v1
metadata: metadata:
schema: metadata/Document/v1 schema: metadata/Document/v1
name: ceph name: ceph-mon
data: data:
chart_name: ceph chart_name: ceph-mon
release: ceph release: ceph-mon
namespace: ceph namespace: ceph
timeout: 1800 timeout: 1800
install: install:
@ -33,39 +33,35 @@ data:
delete: delete:
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: bootstrap component: bootstrap
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: cephfs-client-key-generator component: cephfs-client-key-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: mds-keyring-generator component: mds-keyring-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: osd-keyring-generator component: osd-keyring-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: rgw-keyring-generator component: rgw-keyring-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: mon-keyring-generator component: mon-keyring-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: mgr-keyring-generator component: mgr-keyring-generator
- type: job - type: job
labels: labels:
application: ceph application: ceph-mon
component: rbd-pool
- type: job
labels:
application: ceph
component: storage-keys-generator component: storage-keys-generator
values: values:
endpoints: endpoints:
@ -114,7 +110,151 @@ data:
source: source:
type: local type: local
location: ${OSH_PATH} location: ${OSH_PATH}
subpath: ceph subpath: ceph-mon
reference: master
dependencies:
- helm-toolkit
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: ceph-osd
data:
chart_name: ceph-osd
release: ceph-osd
namespace: ceph
timeout: 1800
install:
no_hooks: false
upgrade:
no_hooks: false
values:
endpoints:
identity:
namespace: openstack
object_store:
namespace: ceph
ceph_mon:
namespace: ceph
network:
public: ${CEPH_NETWORK}
cluster: ${CEPH_NETWORK}
deployment:
storage_secrets: true
ceph: true
rbd_provisioner: true
cephfs_provisioner: true
client_secrets: false
rgw_keystone_user_and_endpoints: false
bootstrap:
enabled: true
conf:
ceph:
global:
#NOTE (portdirect): any uuidv4 value is acceptable here, though must
# be consistent if you wish to redploy whist maintaining data.
fsid: C1150D08-707D-4FEB-85E7-692BD9206DC3
rgw_ks:
enabled: true
pool:
crush:
#NOTE(portdirect): set to hammer if using kernel < 4.5
tunables: null
target:
# NOTE(portdirect): 5 nodes, with one osd per node
osd: 5
pg_per_osd: 100
storage:
osd:
- data:
type: directory
location: /var/lib/openstack-helm/ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one
source:
type: local
location: ${OSH_PATH}
subpath: ceph-osd
reference: master
dependencies:
- helm-toolkit
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: ceph-client
data:
chart_name: ceph-client
release: ceph-client
namespace: ceph
timeout: 1800
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
application: ceph-client
component: bootstrap
- type: job
labels:
application: ceph-client
component: cephfs-client-key-generator
- type: job
labels:
application: ceph-client
component: rbd-pool
values:
endpoints:
identity:
namespace: openstack
object_store:
namespace: ceph
ceph_mon:
namespace: ceph
network:
public: ${CEPH_NETWORK}
cluster: ${CEPH_NETWORK}
deployment:
storage_secrets: true
ceph: true
rbd_provisioner: true
cephfs_provisioner: true
client_secrets: false
rgw_keystone_user_and_endpoints: false
bootstrap:
enabled: true
conf:
ceph:
global:
#NOTE (portdirect): any uuidv4 value is acceptable here, though must
# be consistent if you wish to redploy whist maintaining data.
fsid: C1150D08-707D-4FEB-85E7-692BD9206DC3
rgw_ks:
enabled: true
pool:
crush:
#NOTE(portdirect): set to hammer if using kernel < 4.5
tunables: null
target:
# NOTE(portdirect): 5 nodes, with one osd per node
osd: 5
pg_per_osd: 100
storage:
osd:
- data:
type: directory
location: /var/lib/openstack-helm/ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one
source:
type: local
location: ${OSH_PATH}
subpath: ceph-client
reference: master reference: master
dependencies: dependencies:
- helm-toolkit - helm-toolkit
@ -127,7 +267,9 @@ data:
description: "Ceph Storage" description: "Ceph Storage"
sequenced: True sequenced: True
chart_group: chart_group:
- ceph - ceph-mon
- ceph-osd
- ceph-client
--- ---
schema: armada/Manifest/v1 schema: armada/Manifest/v1
metadata: metadata:

View File

@ -105,7 +105,7 @@ data:
source: source:
type: local type: local
location: ${OSH_PATH} location: ${OSH_PATH}
subpath: ceph subpath: ceph-client
reference: master reference: master
dependencies: dependencies:
- helm-toolkit - helm-toolkit

View File

@ -120,7 +120,7 @@ data:
source: source:
type: local type: local
location: ${OSH_PATH} location: ${OSH_PATH}
subpath: ceph subpath: ceph-client
reference: master reference: master
dependencies: dependencies:
- helm-toolkit - helm-toolkit
@ -383,7 +383,7 @@ data:
source: source:
type: local type: local
location: ${OSH_PATH} location: ${OSH_PATH}
subpath: ceph subpath: ceph-client
reference: master reference: master
dependencies: dependencies:
- helm-toolkit - helm-toolkit

View File

@ -17,7 +17,9 @@
set -xe set -xe
#NOTE: Pull images and lint chart #NOTE: Pull images and lint chart
make pull-images ceph for CHART in ceph-mon ceph-osd ceph-client; do
make pull-images "${CHART}"
done
#NOTE: Deploy command #NOTE: Deploy command
uuidgen > /tmp/ceph-fs-uuid.txt uuidgen > /tmp/ceph-fs-uuid.txt
@ -165,18 +167,21 @@ conf:
type: directory type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one location: /var/lib/openstack-helm/ceph/osd/journal-one
EOF EOF
helm install ./ceph \
--namespace=ceph \
--name=ceph \
--values=/tmp/ceph.yaml
#NOTE: Wait for deploy for CHART in ceph-mon ceph-osd ceph-client; do
./tools/deployment/common/wait-for-pods.sh ceph helm install ./${CHART} \
--namespace=ceph \
--name=${CHART} \
--values=/tmp/ceph.yaml
#NOTE: Validate deploy #NOTE: Wait for deploy
MON_POD=$(kubectl get pods \ ./tools/deployment/common/wait-for-pods.sh ceph
--namespace=ceph \
--selector="application=ceph" \ #NOTE: Validate deploy
--selector="component=mon" \ MON_POD=$(kubectl get pods \
--no-headers | awk '{ print $1; exit }') --namespace=ceph \
kubectl exec -n ceph ${MON_POD} -- ceph -s --selector="application=ceph" \
--selector="component=mon" \
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
done

View File

@ -17,7 +17,7 @@
set -xe set -xe
#NOTE: Pull images and lint chart #NOTE: Pull images and lint chart
make pull-images ceph make pull-images ceph-client
#NOTE: Deploy command #NOTE: Deploy command
tee /tmp/ceph-openstack-config.yaml <<EOF tee /tmp/ceph-openstack-config.yaml <<EOF
@ -51,7 +51,7 @@ conf:
global: global:
fsid: "$(cat /tmp/ceph-fs-uuid.txt)" fsid: "$(cat /tmp/ceph-fs-uuid.txt)"
EOF EOF
helm install ./ceph \ helm install ./ceph-client \
--namespace=openstack \ --namespace=openstack \
--name=ceph-openstack-config \ --name=ceph-openstack-config \
--values=/tmp/ceph-openstack-config.yaml --values=/tmp/ceph-openstack-config.yaml

View File

@ -17,7 +17,9 @@
set -xe set -xe
#NOTE: Pull images and lint chart #NOTE: Pull images and lint chart
make pull-images ceph for CHART in ceph-mon ceph-osd ceph-client; do
make pull-images "${CHART}"
done
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
@ -154,19 +156,22 @@ conf:
type: directory type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one location: /var/lib/openstack-helm/ceph/osd/journal-one
EOF EOF
helm upgrade --install ceph ./ceph \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY}
#NOTE: Wait for deploy for CHART in ceph-mon ceph-osd ceph-client; do
./tools/deployment/common/wait-for-pods.sh ceph helm upgrade --install ${CHART} ./${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY}
#NOTE: Validate deploy #NOTE: Wait for deploy
MON_POD=$(kubectl get pods \ ./tools/deployment/common/wait-for-pods.sh ceph
--namespace=ceph \
--selector="application=ceph" \ #NOTE: Validate deploy
--selector="component=mon" \ MON_POD=$(kubectl get pods \
--no-headers | awk '{ print $1; exit }') --namespace=ceph \
kubectl exec -n ceph ${MON_POD} -- ceph -s --selector="application=ceph" \
--selector="component=mon" \
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
done

View File

@ -17,7 +17,7 @@
set -xe set -xe
#NOTE: Pull images and lint chart #NOTE: Pull images and lint chart
make pull-images ceph make pull-images ceph-client
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
@ -49,7 +49,7 @@ conf:
global: global:
fsid: ${CEPH_FS_ID} fsid: ${CEPH_FS_ID}
EOF EOF
helm upgrade --install ceph-openstack-config ./ceph \ helm upgrade --install ceph-openstack-config ./ceph-client \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/ceph-openstack-config.yaml \ --values=/tmp/ceph-openstack-config.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS} \

View File

@ -49,7 +49,7 @@ conf:
global: global:
fsid: ${CEPH_FS_ID} fsid: ${CEPH_FS_ID}
EOF EOF
helm upgrade --install radosgw-openstack ./ceph \ helm upgrade --install radosgw-openstack ./ceph-client \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/radosgw-openstack.yaml \ --values=/tmp/radosgw-openstack.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS} \

View File

@ -75,19 +75,22 @@ conf:
type: directory type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one location: /var/lib/openstack-helm/ceph/osd/journal-one
EOF EOF
helm upgrade --install ceph ./ceph \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY}
#NOTE: Wait for deploy for CHART in ceph-mon ceph-osd ceph-client; do
./tools/deployment/common/wait-for-pods.sh ceph 1200 helm upgrade --install ${CHART} ./${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY}
#NOTE: Validate deploy #NOTE: Wait for deploy
MON_POD=$(kubectl get pods \ ./tools/deployment/common/wait-for-pods.sh ceph 1200
--namespace=ceph \
--selector="application=ceph" \ #NOTE: Validate deploy
--selector="component=mon" \ MON_POD=$(kubectl get pods \
--no-headers | awk '{ print $1; exit }') --namespace=ceph \
kubectl exec -n ceph ${MON_POD} -- ceph -s --selector="application=ceph" \
--selector="component=mon" \
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
done

View File

@ -47,7 +47,7 @@ conf:
rgw_ks: rgw_ks:
enabled: true enabled: true
EOF EOF
helm upgrade --install ceph-openstack-config ./ceph \ helm upgrade --install ceph-openstack-config ./ceph-client \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/ceph-openstack-config.yaml \ --values=/tmp/ceph-openstack-config.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS} \

View File

@ -47,7 +47,7 @@ conf:
rgw_ks: rgw_ks:
enabled: true enabled: true
EOF EOF
helm upgrade --install radosgw-openstack ./ceph \ helm upgrade --install radosgw-openstack ./ceph-client \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/radosgw-openstack.yaml \ --values=/tmp/radosgw-openstack.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS} \