Merge "Ceph: update dependency logic to be more strict"
This commit is contained in:
commit
5178f3d926
@ -19,7 +19,7 @@ limitations under the License.
|
|||||||
{{- if or (.Values.deployment.ceph) (.Values.deployment.client_secrets) }}
|
{{- if or (.Values.deployment.ceph) (.Values.deployment.client_secrets) }}
|
||||||
|
|
||||||
{{- if empty .Values.conf.ceph.config.global.mon_host -}}
|
{{- if empty .Values.conf.ceph.config.global.mon_host -}}
|
||||||
{{- $monHost := tuple "ceph_mon" "internal" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
|
{{- $monHost := tuple "ceph_mon" "discovery" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
|
||||||
{{- $monHost | set .Values.conf.ceph.config.global "mon_host" | quote | trunc 0 -}}
|
{{- $monHost | set .Values.conf.ceph.config.global "mon_host" | quote | trunc 0 -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
42
ceph/templates/service-mon-discovery.yaml
Normal file
42
ceph/templates/service-mon-discovery.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{{/*
|
||||||
|
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.service_mon_discovery }}
|
||||||
|
{{- $envAll := . }}
|
||||||
|
{{- if .Values.deployment.ceph }}
|
||||||
|
---
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: {{ tuple "ceph_mon" "discovery" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
|
||||||
|
annotations:
|
||||||
|
# In kubernetes 1.6 and beyond, it seems there was a change in behavior
|
||||||
|
# requiring us to tolerate unready endpoints to form a quorum. I can only
|
||||||
|
# guess at some small timing change causing statefulset+2 to not see the
|
||||||
|
# now ready statefulset+1, and because we do not tolerate unready endpoints
|
||||||
|
# a newly provisioned ceph-mon will most certainly never see itself in the
|
||||||
|
# peer list. This change allows us to form a quorum reliably everytime
|
||||||
|
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.network.port.mon }}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: {{ .Values.network.port.mon }}
|
||||||
|
selector:
|
||||||
|
{{ tuple $envAll "ceph" "mon" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
|
||||||
|
clusterIP: None
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
@ -21,15 +21,7 @@ limitations under the License.
|
|||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Values.endpoints.ceph_mon.hosts.default }}
|
name: {{ tuple "ceph_mon" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
|
||||||
annotations:
|
|
||||||
# In kubernetes 1.6 and beyond, it seems there was a change in behavior
|
|
||||||
# requiring us to tolerate unready endpoints to form a quorum. I can only
|
|
||||||
# guess at some small timing change causing statefulset+2 to not see the
|
|
||||||
# now ready statefulset+1, and because we do not tolerate unready endpoints
|
|
||||||
# a newly provisioned ceph-mon will most certainly never see itself in the
|
|
||||||
# peer list. This change allows us to form a quorum reliably everytime
|
|
||||||
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
|
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- port: {{ .Values.network.port.mon }}
|
- port: {{ .Values.network.port.mon }}
|
||||||
|
@ -212,23 +212,33 @@ dependencies:
|
|||||||
jobs:
|
jobs:
|
||||||
mon:
|
mon:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-mon-keyring-generator
|
||||||
osd:
|
osd:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-osd-keyring-generator
|
||||||
services:
|
services:
|
||||||
- service: ceph_mon
|
- service: ceph_mon
|
||||||
endpoint: internal
|
endpoint: internal
|
||||||
moncheck:
|
moncheck:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-mon-keyring-generator
|
||||||
services:
|
services:
|
||||||
- service: ceph_mon
|
- service: ceph_mon
|
||||||
endpoint: internal
|
endpoint: discovery
|
||||||
rgw:
|
rgw:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-rgw-keyring-generator
|
||||||
services:
|
services:
|
||||||
- service: ceph_mon
|
- service: ceph_mon
|
||||||
endpoint: internal
|
endpoint: internal
|
||||||
mds:
|
mds:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-mds-keyring-generator
|
||||||
services:
|
services:
|
||||||
- service: ceph_mon
|
- service: ceph_mon
|
||||||
endpoint: internal
|
endpoint: internal
|
||||||
@ -258,6 +268,8 @@ dependencies:
|
|||||||
endpoint: internal
|
endpoint: internal
|
||||||
mgr:
|
mgr:
|
||||||
jobs:
|
jobs:
|
||||||
|
- ceph-storage-keys-generator
|
||||||
|
- ceph-mgr-keyring-generator
|
||||||
services:
|
services:
|
||||||
- service: ceph_mon
|
- service: ceph_mon
|
||||||
endpoint: internal
|
endpoint: internal
|
||||||
@ -356,6 +368,7 @@ endpoints:
|
|||||||
namespace: null
|
namespace: null
|
||||||
hosts:
|
hosts:
|
||||||
default: ceph-mon
|
default: ceph-mon
|
||||||
|
discovery: ceph-mon-discovery
|
||||||
host_fqdn_override:
|
host_fqdn_override:
|
||||||
default: null
|
default: null
|
||||||
port:
|
port:
|
||||||
@ -388,5 +401,6 @@ manifests:
|
|||||||
secret_keystone: true
|
secret_keystone: true
|
||||||
service_mgr: true
|
service_mgr: true
|
||||||
service_mon: true
|
service_mon: true
|
||||||
|
service_mon_discovery: true
|
||||||
service_rgw: true
|
service_rgw: true
|
||||||
storageclass: true
|
storageclass: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user