Merge pull request #240 from portdirect/2.0ß/ks-endpoint-normalisation
KS endpoint type lookup for Keystone, Cinder & Glance Charts
This commit is contained in:
commit
6e17d3d78c
@ -1,59 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
# This file is required because we use a slightly different endpoint layout in
|
|
||||||
# the values yaml, until we can make this change for all services.
|
|
||||||
|
|
||||||
|
|
||||||
# this function returns the endpoint uri for a service, it takes an tuple
|
|
||||||
# input in the form: service-type, endpoint-class, port-name. eg:
|
|
||||||
# { tuple "orchestration" "public" "api" . | include "helm-toolkit.endpoint_type_lookup_addr" }
|
|
||||||
# will return the appropriate URI. Once merged this should phase out the above.
|
|
||||||
|
|
||||||
{{- define "helm-toolkit.endpoint_type_lookup_addr" -}}
|
|
||||||
{{- $type := index . 0 -}}
|
|
||||||
{{- $endpoint := index . 1 -}}
|
|
||||||
{{- $port := index . 2 -}}
|
|
||||||
{{- $context := index . 3 -}}
|
|
||||||
{{- $endpointMap := index $context.Values.endpoints $type }}
|
|
||||||
{{- $fqdn := $context.Release.Namespace -}}
|
|
||||||
{{- if $context.Values.endpoints.fqdn -}}
|
|
||||||
{{- $fqdn := $context.Values.endpoints.fqdn -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- with $endpointMap -}}
|
|
||||||
{{- $endpointScheme := .scheme }}
|
|
||||||
{{- $endpointHost := index .hosts $endpoint | default .hosts.default}}
|
|
||||||
{{- $endpointPort := index .port $port }}
|
|
||||||
{{- $endpointPath := .path }}
|
|
||||||
{{- printf "%s://%s.%s:%1.f%s" $endpointScheme $endpointHost $fqdn $endpointPort $endpointPath | quote -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------
|
|
||||||
# endpoint name lookup
|
|
||||||
#-------------------------------
|
|
||||||
|
|
||||||
# this function is used in endpoint management templates
|
|
||||||
# it returns the service type for an openstack service eg:
|
|
||||||
# { tuple orchestration . | include "ks_endpoint_type" }
|
|
||||||
# will return "heat"
|
|
||||||
|
|
||||||
{{- define "endpoint_name_lookup" -}}
|
|
||||||
{{- $type := index . 0 -}}
|
|
||||||
{{- $context := index . 1 -}}
|
|
||||||
{{- $endpointMap := index $context.Values.endpoints $type }}
|
|
||||||
{{- $endpointName := index $endpointMap "name" }}
|
|
||||||
{{- $endpointName | quote -}}
|
|
||||||
{{- end -}}
|
|
@ -59,10 +59,11 @@ spec:
|
|||||||
- --config-dir
|
- --config-dir
|
||||||
- /etc/cinder/conf
|
- /etc/cinder/conf
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.service.api.port }}
|
- name: c-api
|
||||||
|
containerPort: {{ .Values.network.port.api }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
port: {{ .Values.service.api.port }}
|
port: {{ .Values.network.port.api }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: pod-etc-cinder
|
- name: pod-etc-cinder
|
||||||
mountPath: /etc/cinder
|
mountPath: /etc/cinder
|
||||||
|
@ -22,11 +22,11 @@ volume_name_template = %s
|
|||||||
|
|
||||||
osapi_volume_workers = {{ .Values.api.workers }}
|
osapi_volume_workers = {{ .Values.api.workers }}
|
||||||
osapi_volume_listen = 0.0.0.0
|
osapi_volume_listen = 0.0.0.0
|
||||||
osapi_volume_listen_port = {{ .Values.service.api.port }}
|
osapi_volume_listen_port = {{ .Values.network.port.api }}
|
||||||
|
|
||||||
api_paste_config = /etc/cinder/api-paste.ini
|
api_paste_config = /etc/cinder/api-paste.ini
|
||||||
|
|
||||||
glance_api_servers = "{{ .Values.glance.proto }}://{{ .Values.glance.host }}:{{ .Values.glance.port }}"
|
glance_api_servers = {{ tuple "image" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
|
||||||
glance_api_version = {{ .Values.glance.version }}
|
glance_api_version = {{ .Values.glance.version }}
|
||||||
|
|
||||||
enabled_backends = {{ include "helm-toolkit.joinListWithComma" .Values.backends.enabled }}
|
enabled_backends = {{ include "helm-toolkit.joinListWithComma" .Values.backends.enabled }}
|
||||||
@ -44,11 +44,13 @@ connection = mysql+pymysql://{{ .Values.database.cinder_user }}:{{ .Values.datab
|
|||||||
max_retries = -1
|
max_retries = -1
|
||||||
|
|
||||||
[keystone_authtoken]
|
[keystone_authtoken]
|
||||||
auth_url = {{ .Values.keystone.auth_url }}
|
auth_version = v3
|
||||||
|
auth_url = {{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
|
||||||
auth_type = password
|
auth_type = password
|
||||||
|
region_name = {{ .Values.keystone.cinder_region_name }}
|
||||||
project_domain_name = {{ .Values.keystone.cinder_project_domain }}
|
project_domain_name = {{ .Values.keystone.cinder_project_domain }}
|
||||||
user_domain_name = {{ .Values.keystone.cinder_user_domain }}
|
|
||||||
project_name = {{ .Values.keystone.cinder_project_name }}
|
project_name = {{ .Values.keystone.cinder_project_name }}
|
||||||
|
user_domain_name = {{ .Values.keystone.cinder_user_domain }}
|
||||||
username = {{ .Values.keystone.cinder_user }}
|
username = {{ .Values.keystone.cinder_user }}
|
||||||
password = {{ .Values.keystone.cinder_password }}
|
password = {{ .Values.keystone.cinder_password }}
|
||||||
|
|
||||||
|
@ -60,11 +60,11 @@ spec:
|
|||||||
- name: OS_SVC_ENDPOINT
|
- name: OS_SVC_ENDPOINT
|
||||||
value: {{ $osServiceEndPoint }}
|
value: {{ $osServiceEndPoint }}
|
||||||
- name: OS_SERVICE_NAME
|
- name: OS_SERVICE_NAME
|
||||||
value: {{ tuple $osServiceType $envAll | include "endpoint_name_lookup" }}
|
value: {{ tuple $osServiceType $envAll | include "helm-toolkit.keystone_endpoint_name_lookup" }}
|
||||||
- name: OS_SERVICE_TYPE
|
- name: OS_SERVICE_TYPE
|
||||||
value: {{ $osServiceType }}
|
value: {{ $osServiceType }}
|
||||||
- name: OS_SERVICE_ENDPOINT
|
- name: OS_SERVICE_ENDPOINT
|
||||||
value: {{ tuple $osServiceType $osServiceEndPoint "api" $envAll | include "helm-toolkit.endpoint_type_lookup_addr" }}
|
value: {{ tuple $osServiceType $osServiceEndPoint "api" $envAll | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -57,7 +57,7 @@ spec:
|
|||||||
{{- include "helm-toolkit.keystone_openrc_env_vars" $env | indent 12 }}
|
{{- include "helm-toolkit.keystone_openrc_env_vars" $env | indent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: OS_SERVICE_NAME
|
- name: OS_SERVICE_NAME
|
||||||
value: {{ tuple $osServiceType $envAll | include "endpoint_name_lookup" }}
|
value: {{ tuple $osServiceType $envAll | include "helm-toolkit.keystone_endpoint_name_lookup" }}
|
||||||
- name: OS_SERVICE_TYPE
|
- name: OS_SERVICE_TYPE
|
||||||
value: {{ $osServiceType }}
|
value: {{ $osServiceType }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -19,7 +19,7 @@ metadata:
|
|||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
OS_AUTH_URL: |
|
OS_AUTH_URL: |
|
||||||
{{ .Values.keystone.auth_url | b64enc | indent 4 }}
|
{{ tuple "identity" "admin" "admin" . | include "helm-toolkit.keystone_endpoint_uri_lookup" | b64enc | indent 4 }}
|
||||||
OS_REGION_NAME: |
|
OS_REGION_NAME: |
|
||||||
{{ .Values.keystone.admin_region_name | b64enc | indent 4 }}
|
{{ .Values.keystone.admin_region_name | b64enc | indent 4 }}
|
||||||
OS_PROJECT_DOMAIN_NAME: |
|
OS_PROJECT_DOMAIN_NAME: |
|
||||||
|
@ -19,7 +19,7 @@ metadata:
|
|||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
OS_AUTH_URL: |
|
OS_AUTH_URL: |
|
||||||
{{ .Values.keystone.auth_url | b64enc | indent 4 }}
|
{{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" | b64enc | indent 4 }}
|
||||||
OS_REGION_NAME: |
|
OS_REGION_NAME: |
|
||||||
{{ .Values.keystone.cinder_region_name | b64enc | indent 4 }}
|
{{ .Values.keystone.cinder_region_name | b64enc | indent 4 }}
|
||||||
OS_PROJECT_DOMAIN_NAME: |
|
OS_PROJECT_DOMAIN_NAME: |
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Values.service.api.name }}
|
name: cinder-api
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- port: {{ .Values.service.api.port }}
|
- port: {{ .Values.network.port.api }}
|
||||||
selector:
|
selector:
|
||||||
app: cinder-api
|
app: cinder-api
|
||||||
|
@ -46,8 +46,6 @@ upgrades:
|
|||||||
max_surge: 3
|
max_surge: 3
|
||||||
|
|
||||||
keystone:
|
keystone:
|
||||||
auth_uri: "http://keystone-api:5000"
|
|
||||||
auth_url: "http://keystone-api:35357"
|
|
||||||
admin_user: "admin"
|
admin_user: "admin"
|
||||||
admin_user_domain: "default"
|
admin_user_domain: "default"
|
||||||
admin_password: "password"
|
admin_password: "password"
|
||||||
@ -63,11 +61,9 @@ keystone:
|
|||||||
cinder_project_domain: "default"
|
cinder_project_domain: "default"
|
||||||
cinder_region_name: "RegionOne"
|
cinder_region_name: "RegionOne"
|
||||||
|
|
||||||
service:
|
network:
|
||||||
api:
|
port:
|
||||||
name: "cinder-api"
|
api: 8776
|
||||||
port: 8776
|
|
||||||
proto: "http"
|
|
||||||
|
|
||||||
database:
|
database:
|
||||||
address: mariadb
|
address: mariadb
|
||||||
@ -96,9 +92,6 @@ backends:
|
|||||||
pool: "volumes"
|
pool: "volumes"
|
||||||
|
|
||||||
glance:
|
glance:
|
||||||
proto: "http"
|
|
||||||
host: "glance-api"
|
|
||||||
port: 9292
|
|
||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
messaging:
|
messaging:
|
||||||
@ -171,8 +164,17 @@ endpoints:
|
|||||||
path: /v3
|
path: /v3
|
||||||
scheme: 'http'
|
scheme: 'http'
|
||||||
port:
|
port:
|
||||||
admin: 35357
|
admin: 35357
|
||||||
public: 5000
|
api: 5000
|
||||||
|
image:
|
||||||
|
name: glance
|
||||||
|
hosts:
|
||||||
|
default: glance-api
|
||||||
|
path: null
|
||||||
|
scheme: 'http'
|
||||||
|
port:
|
||||||
|
api: 9292
|
||||||
|
registry: 9191
|
||||||
volume:
|
volume:
|
||||||
name: cinder
|
name: cinder
|
||||||
hosts:
|
hosts:
|
||||||
@ -256,4 +258,3 @@ resources:
|
|||||||
limits:
|
limits:
|
||||||
memory: "1024Mi"
|
memory: "1024Mi"
|
||||||
cpu: "2000m"
|
cpu: "2000m"
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ ansible localhost -vvv -m kolla_keystone_service -a "service_name=glance \
|
|||||||
service_type=image \
|
service_type=image \
|
||||||
description='Openstack Image' \
|
description='Openstack Image' \
|
||||||
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
||||||
url='{{ include "helm-toolkit.endpoint_glance_api_internal" . }}' \
|
url='{{ tuple "image" "admin" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}' \
|
||||||
interface=admin \
|
interface=admin \
|
||||||
region_name='{{ .Values.keystone.admin_region_name }}' \
|
region_name='{{ .Values.keystone.admin_region_name }}' \
|
||||||
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
||||||
@ -31,7 +31,7 @@ ansible localhost -vvv -m kolla_keystone_service -a "service_name=glance \
|
|||||||
service_type=image \
|
service_type=image \
|
||||||
description='Openstack Image' \
|
description='Openstack Image' \
|
||||||
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
||||||
url='{{ include "helm-toolkit.endpoint_glance_api_internal" . }}' \
|
url='{{ tuple "image" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}' \
|
||||||
interface=internal \
|
interface=internal \
|
||||||
region_name='{{ .Values.keystone.admin_region_name }}' \
|
region_name='{{ .Values.keystone.admin_region_name }}' \
|
||||||
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
||||||
@ -41,7 +41,7 @@ ansible localhost -vvv -m kolla_keystone_service -a "service_name=glance \
|
|||||||
service_type=image \
|
service_type=image \
|
||||||
description='Openstack Image' \
|
description='Openstack Image' \
|
||||||
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
endpoint_region='{{ .Values.keystone.glance_region_name }}' \
|
||||||
url='{{ include "helm-toolkit.endpoint_glance_api_internal" . }}' \
|
url='{{ tuple "image" "public" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}' \
|
||||||
interface=public \
|
interface=public \
|
||||||
region_name='{{ .Values.keystone.admin_region_name }}' \
|
region_name='{{ .Values.keystone.admin_region_name }}' \
|
||||||
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
auth='{{ include "helm-toolkit.keystone_auth" . }}'" \
|
||||||
|
@ -22,27 +22,28 @@ workers = {{ .Values.misc.workers }}
|
|||||||
registry_host = glance-registry
|
registry_host = glance-registry
|
||||||
# Enable Copy-on-Write
|
# Enable Copy-on-Write
|
||||||
show_image_direct_url = True
|
show_image_direct_url = True
|
||||||
|
|
||||||
[database]
|
[database]
|
||||||
connection = mysql+pymysql://{{ .Values.database.glance_user }}:{{ .Values.database.glance_password }}@{{ .Values.database.address }}/{{ .Values.database.glance_database_name }}
|
connection = mysql+pymysql://{{ .Values.database.glance_user }}:{{ .Values.database.glance_password }}@{{ .Values.database.address }}/{{ .Values.database.glance_database_name }}
|
||||||
max_retries = -1
|
max_retries = -1
|
||||||
|
|
||||||
[keystone_authtoken]
|
[keystone_authtoken]
|
||||||
auth_uri = {{ .Values.keystone.auth_uri }}
|
auth_version = v3
|
||||||
auth_url = {{ .Values.keystone.auth_url }}
|
auth_url = {{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
|
||||||
auth_type = password
|
auth_type = password
|
||||||
project_domain_id = default
|
region_name = {{ .Values.keystone.glance_region_name }}
|
||||||
user_domain_id = default
|
project_domain_name = {{ .Values.keystone.glance_project_domain }}
|
||||||
project_name = service
|
project_name = {{ .Values.keystone.glance_project_name }}
|
||||||
|
user_domain_name = {{ .Values.keystone.glance_user_domain }}
|
||||||
username = {{ .Values.keystone.glance_user }}
|
username = {{ .Values.keystone.glance_user }}
|
||||||
password = {{ .Values.keystone.glance_password }}
|
password = {{ .Values.keystone.glance_password }}
|
||||||
|
|
||||||
[paste_deploy]
|
[paste_deploy]
|
||||||
flavor = keystone
|
flavor = keystone
|
||||||
|
|
||||||
[oslo_messaging_notifications]
|
[oslo_messaging_notifications]
|
||||||
driver = noop
|
driver = noop
|
||||||
|
|
||||||
[glance_store]
|
[glance_store]
|
||||||
filesystem_store_datadir = /var/lib/glance/images/
|
filesystem_store_datadir = /var/lib/glance/images/
|
||||||
{{- if .Values.development.enabled }}
|
{{- if .Values.development.enabled }}
|
||||||
|
@ -16,25 +16,27 @@
|
|||||||
debug = {{ .Values.misc.debug }}
|
debug = {{ .Values.misc.debug }}
|
||||||
use_syslog = False
|
use_syslog = False
|
||||||
use_stderr = True
|
use_stderr = True
|
||||||
|
|
||||||
bind_port = {{ .Values.network.port.registry }}
|
bind_port = {{ .Values.network.port.registry }}
|
||||||
workers = {{ .Values.misc.workers }}
|
workers = {{ .Values.misc.workers }}
|
||||||
|
|
||||||
[database]
|
[database]
|
||||||
connection = mysql+pymysql://{{ .Values.database.glance_user }}:{{ .Values.database.glance_password }}@{{ .Values.database.address }}/{{ .Values.database.glance_database_name }}
|
connection = mysql+pymysql://{{ .Values.database.glance_user }}:{{ .Values.database.glance_password }}@{{ .Values.database.address }}/{{ .Values.database.glance_database_name }}
|
||||||
max_retries = -1
|
max_retries = -1
|
||||||
|
|
||||||
[keystone_authtoken]
|
[keystone_authtoken]
|
||||||
auth_uri = {{ .Values.keystone.auth_uri }}
|
auth_version = v3
|
||||||
auth_url = {{ .Values.keystone.auth_url }}
|
auth_url = {{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
|
||||||
auth_type = password
|
auth_type = password
|
||||||
project_domain_id = default
|
region_name = {{ .Values.keystone.glance_region_name }}
|
||||||
user_domain_id = default
|
project_domain_name = {{ .Values.keystone.glance_project_domain }}
|
||||||
project_name = service
|
project_name = {{ .Values.keystone.glance_project_name }}
|
||||||
|
user_domain_name = {{ .Values.keystone.glance_user_domain }}
|
||||||
username = {{ .Values.keystone.glance_user }}
|
username = {{ .Values.keystone.glance_user }}
|
||||||
password = {{ .Values.keystone.glance_password }}
|
password = {{ .Values.keystone.glance_password }}
|
||||||
|
|
||||||
[paste_deploy]
|
[paste_deploy]
|
||||||
flavor = keystone
|
flavor = keystone
|
||||||
|
|
||||||
[oslo_messaging_notifications]
|
[oslo_messaging_notifications]
|
||||||
driver = noop
|
driver = noop
|
||||||
|
@ -46,22 +46,25 @@ upgrades:
|
|||||||
max_surge: 3
|
max_surge: 3
|
||||||
|
|
||||||
keystone:
|
keystone:
|
||||||
auth_uri: "http://keystone-api:5000"
|
|
||||||
auth_url: "http://keystone-api:35357"
|
|
||||||
admin_user: "admin"
|
admin_user: "admin"
|
||||||
|
admin_user_domain: "default"
|
||||||
admin_password: "password"
|
admin_password: "password"
|
||||||
admin_project_name: "admin"
|
admin_project_name: "admin"
|
||||||
|
admin_project_domain: "default"
|
||||||
admin_region_name: "RegionOne"
|
admin_region_name: "RegionOne"
|
||||||
|
|
||||||
glance_user: "glance"
|
glance_user: "glance"
|
||||||
|
glance_user_domain: "default"
|
||||||
|
glance_user_role: "admin"
|
||||||
glance_password: "password"
|
glance_password: "password"
|
||||||
|
glance_project_name: "service"
|
||||||
|
glance_project_domain: "default"
|
||||||
glance_region_name: "RegionOne"
|
glance_region_name: "RegionOne"
|
||||||
|
|
||||||
network:
|
network:
|
||||||
port:
|
port:
|
||||||
api: 9292
|
api: 9292
|
||||||
registry: 9191
|
registry: 9191
|
||||||
ip_address: "0.0.0.0"
|
|
||||||
|
|
||||||
database:
|
database:
|
||||||
address: mariadb
|
address: mariadb
|
||||||
@ -173,21 +176,21 @@ dependencies:
|
|||||||
# values, but should include all endpoints
|
# values, but should include all endpoints
|
||||||
# required by this chart
|
# required by this chart
|
||||||
endpoints:
|
endpoints:
|
||||||
glance:
|
identity:
|
||||||
|
name: keystone
|
||||||
|
hosts:
|
||||||
|
default: keystone-api
|
||||||
|
path: /v3
|
||||||
|
scheme: 'http'
|
||||||
|
port:
|
||||||
|
admin: 35357
|
||||||
|
api: 5000
|
||||||
|
image:
|
||||||
|
name: glance
|
||||||
hosts:
|
hosts:
|
||||||
default: glance-api
|
default: glance-api
|
||||||
type: image
|
|
||||||
path: null
|
path: null
|
||||||
scheme: 'http'
|
scheme: 'http'
|
||||||
port:
|
port:
|
||||||
api: 9292
|
api: 9292
|
||||||
registry: 9191
|
registry: 9191
|
||||||
keystone:
|
|
||||||
hosts:
|
|
||||||
default: keystone-api
|
|
||||||
path: /v3
|
|
||||||
type: identity
|
|
||||||
scheme: 'http'
|
|
||||||
port:
|
|
||||||
admin: 35357
|
|
||||||
public: 5000
|
|
||||||
|
@ -126,6 +126,29 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
# this function returns the endpoint uri for a service, it takes an tuple
|
||||||
|
# input in the form: service-type, endpoint-class, port-name. eg:
|
||||||
|
# { tuple "orchestration" "public" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }
|
||||||
|
# will return the appropriate URI. Once merged this should phase out the above.
|
||||||
|
|
||||||
|
{{- define "helm-toolkit.keystone_endpoint_uri_lookup" -}}
|
||||||
|
{{- $type := index . 0 -}}
|
||||||
|
{{- $endpoint := index . 1 -}}
|
||||||
|
{{- $port := index . 2 -}}
|
||||||
|
{{- $context := index . 3 -}}
|
||||||
|
{{- $endpointMap := index $context.Values.endpoints $type }}
|
||||||
|
{{- $fqdn := $context.Release.Namespace -}}
|
||||||
|
{{- if $context.Values.endpoints.fqdn -}}
|
||||||
|
{{- $fqdn := $context.Values.endpoints.fqdn -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with $endpointMap -}}
|
||||||
|
{{- $endpointScheme := .scheme }}
|
||||||
|
{{- $endpointHost := index .hosts $endpoint | default .hosts.default}}
|
||||||
|
{{- $endpointPort := index .port $port }}
|
||||||
|
{{- $endpointPath := .path | default "" }}
|
||||||
|
{{- printf "%s://%s.%s:%1.f%s" $endpointScheme $endpointHost $fqdn $endpointPort $endpointPath -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
# endpoint type lookup
|
# endpoint type lookup
|
||||||
@ -145,7 +168,25 @@
|
|||||||
{{- $endpointType | quote -}}
|
{{- $endpointType | quote -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------
|
||||||
|
# endpoint name lookup
|
||||||
|
#-------------------------------
|
||||||
|
|
||||||
|
# this function is used in endpoint management templates
|
||||||
|
# it returns the service type for an openstack service eg:
|
||||||
|
# { tuple orchestration . | include "ks_endpoint_type" }
|
||||||
|
# will return "heat"
|
||||||
|
|
||||||
|
{{- define "helm-toolkit.keystone_endpoint_name_lookup" -}}
|
||||||
|
{{- $type := index . 0 -}}
|
||||||
|
{{- $context := index . 1 -}}
|
||||||
|
{{- $endpointMap := index $context.Values.endpoints $type }}
|
||||||
|
{{- $endpointName := index $endpointMap "name" }}
|
||||||
|
{{- $endpointName | quote -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
# kolla helpers
|
# kolla helpers
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
{{ define "helm-toolkit.keystone_auth" }}{'auth_url':'{{ include "helm-toolkit.endpoint_keystone_internal" . }}', 'username':'{{ .Values.keystone.admin_user }}','password':'{{ .Values.keystone.admin_password }}','project_name':'{{ .Values.keystone.admin_project_name }}','domain_name':'default'}{{end}}
|
{{ define "helm-toolkit.keystone_auth" }}{'auth_url':'{{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}', 'username':'{{ .Values.keystone.admin_user }}','password':'{{ .Values.keystone.admin_password }}','project_name':'{{ .Values.keystone.admin_project_name }}','domain_name':'default'}{{end}}
|
||||||
|
@ -22,7 +22,7 @@ keystone-manage --config-file=/etc/keystone/keystone.conf bootstrap \
|
|||||||
--bootstrap-username {{ .Values.keystone.admin_user }} \
|
--bootstrap-username {{ .Values.keystone.admin_user }} \
|
||||||
--bootstrap-password {{ .Values.keystone.admin_password }} \
|
--bootstrap-password {{ .Values.keystone.admin_password }} \
|
||||||
--bootstrap-project-name {{ .Values.keystone.admin_project_name }} \
|
--bootstrap-project-name {{ .Values.keystone.admin_project_name }} \
|
||||||
--bootstrap-admin-url {{ include "helm-toolkit.endpoint_keystone_admin" . }} \
|
--bootstrap-admin-url {{ tuple "identity" "admin" "admin" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }} \
|
||||||
--bootstrap-public-url {{ include "helm-toolkit.endpoint_keystone_internal" . }} \
|
--bootstrap-public-url {{ tuple "identity" "public" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }} \
|
||||||
--bootstrap-internal-url {{ include "helm-toolkit.endpoint_keystone_internal" . }} \
|
--bootstrap-internal-url {{ tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }} \
|
||||||
--bootstrap-region-id {{ .Values.keystone.admin_region_name }}
|
--bootstrap-region-id {{ .Values.keystone.admin_region_name }}
|
||||||
|
@ -58,8 +58,10 @@ spec:
|
|||||||
- bash
|
- bash
|
||||||
- /tmp/start.sh
|
- /tmp/start.sh
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.network.port.public }}
|
- name: api-public
|
||||||
- containerPort: {{ .Values.network.port.admin }}
|
containerPort: {{ .Values.network.port.api }}
|
||||||
|
- name: api-admin
|
||||||
|
containerPort: {{ .Values.network.port.admin }}
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
exec:
|
exec:
|
||||||
@ -69,7 +71,7 @@ spec:
|
|||||||
- graceful-stop
|
- graceful-stop
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
port: {{ .Values.network.port.public }}
|
port: {{ .Values.network.port.api }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: pod-etc-keystone
|
- name: pod-etc-keystone
|
||||||
mountPath: /etc/keystone
|
mountPath: /etc/keystone
|
||||||
|
@ -12,13 +12,13 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
Listen {{ .Values.network.ip_address }}:{{ .Values.network.port.public }}
|
Listen 0.0.0.0:{{ .Values.network.port.api }}
|
||||||
Listen {{ .Values.network.ip_address }}:{{ .Values.network.port.admin }}
|
Listen 0.0.0.0:{{ .Values.network.port.admin }}
|
||||||
|
|
||||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||||
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
|
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
|
||||||
|
|
||||||
<VirtualHost *:{{ .Values.network.port.public }}>
|
<VirtualHost *:{{ .Values.network.port.api }}>
|
||||||
WSGIDaemonProcess keystone-public processes=1 threads=4 user=keystone group=keystone display-name=%{GROUP}
|
WSGIDaemonProcess keystone-public processes=1 threads=4 user=keystone group=keystone display-name=%{GROUP}
|
||||||
WSGIProcessGroup keystone-public
|
WSGIProcessGroup keystone-public
|
||||||
WSGIScriptAlias / /var/www/cgi-bin/keystone/main
|
WSGIScriptAlias / /var/www/cgi-bin/keystone/main
|
||||||
|
@ -19,7 +19,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- name: keystone-api-public
|
- name: keystone-api-public
|
||||||
port: {{ .Values.network.port.public }}
|
port: {{ .Values.network.port.api }}
|
||||||
- name: keystone-api-admin
|
- name: keystone-api-admin
|
||||||
port: {{ .Values.network.port.admin }}
|
port: {{ .Values.network.port.admin }}
|
||||||
selector:
|
selector:
|
||||||
|
@ -54,15 +54,7 @@ api:
|
|||||||
network:
|
network:
|
||||||
port:
|
port:
|
||||||
admin: 35357
|
admin: 35357
|
||||||
public: 5000
|
api: 5000
|
||||||
# alanmeadows(TODO): I seem unable to use {{ .IP }} here
|
|
||||||
# but it does work for wsrep.conf in mariadb, I have spent
|
|
||||||
# time trying to figure this out am completely stumped
|
|
||||||
#
|
|
||||||
# helm --debug --dry-run shows me that the config map
|
|
||||||
# contains {{ .IP }} but its simply translated by K8s
|
|
||||||
# to ""
|
|
||||||
ip_address: "0.0.0.0"
|
|
||||||
|
|
||||||
database:
|
database:
|
||||||
port: 3306
|
port: 3306
|
||||||
@ -120,12 +112,12 @@ resources:
|
|||||||
# values, but should include all endpoints
|
# values, but should include all endpoints
|
||||||
# required by this chart
|
# required by this chart
|
||||||
endpoints:
|
endpoints:
|
||||||
keystone:
|
identity:
|
||||||
|
name: keystone
|
||||||
hosts:
|
hosts:
|
||||||
default: keystone-api
|
default: keystone-api
|
||||||
path: /v3
|
path: /v3
|
||||||
type: identity
|
|
||||||
scheme: 'http'
|
scheme: 'http'
|
||||||
port:
|
port:
|
||||||
admin: 35357
|
admin: 35357
|
||||||
public: 5000
|
api: 5000
|
||||||
|
Loading…
Reference in New Issue
Block a user