Helm common package
This promotes the common library to be a pure helm package. This allows more common code to be added easily in separate files to allow for greater maintainability. Partially-Implements: blueprint helm-microservices Change-Id: I96b2c6626fcb5d47fe609a40f20946c51eba4175
This commit is contained in:
parent
2f62d25647
commit
d46538b48d
|
@ -20,6 +20,7 @@ common:
|
|||
enable_kube_logger: true
|
||||
fluentd_image_tag: 3.0.1
|
||||
kolla_toolbox_image_tag: 3.0.1
|
||||
kubernetes_entrypoint_image_tag: 3.0.1
|
||||
|
||||
openvswitch-ovsdb:
|
||||
openvswitch_ovsdb_image_tag: 3.0.1
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{{- define "kolla_toolbox_image_full" }}
|
||||
{{- $kollaToolboxImageBuilt := printf "%s/%s/%s-%s-kolla-toolbox:%s" .Values.docker_registry .Values.docker_namespace .Values.kolla_base_distro .Values.kolla_install_type .Values.kolla_toolbox_image_tag }}
|
||||
{{- $kollaToolboxImageFull := .Values.kolla_toolbox_image_full | default $kollaToolboxImageBuilt }}
|
||||
{{- $kollaToolboxImageFull -}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "fluentd_image_full" }}
|
||||
{{- $fluentdImageBuilt := printf "%s/%s/%s-%s-fluentd:%s" .Values.docker_registry .Values.docker_namespace .Values.kolla_base_distro .Values.kolla_install_type .Values.fluentd_image_tag }}
|
||||
{{- $fluentdImageFull := .Values.kolla_toolbox_image_full | default $fluentdImageBuilt }}
|
||||
{{- $fluentdImageFull -}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "kubernetes_entrypoint_image_full" }}
|
||||
{{- $kubernetesEntryPointImageBuilt := printf "%s/%s/%s-%s-kubernetes-entrypoint:%s" .Values.docker_registry .Values.docker_namespace .Values.kolla_base_distro .Values.kolla_install_type .Values.kubernetes_entrypoint_image_tag }}
|
||||
{{- $kubernetesEntryPointImageFull := .Values.kubernetes_entrypoint_image_full | default $kubernetesEntryPointImageBuilt }}
|
||||
{{- $kubernetesEntryPointImageFull }}
|
||||
{{- end }}
|
|
@ -1,15 +1,3 @@
|
|||
{{- define "kolla_toolbox_image_full" }}
|
||||
{{- $kollaToolboxImageBuilt := printf "%s/%s/%s-%s-kolla-toolbox:%s" .Values.docker_registry .Values.docker_namespace .Values.kolla_base_distro .Values.kolla_install_type .Values.kolla_toolbox_image_tag }}
|
||||
{{- $kollaToolboxImageFull := .Values.kolla_toolbox_image_full | default $kollaToolboxImageBuilt }}
|
||||
{{- $kollaToolboxImageFull -}}
|
||||
{{ end }}
|
||||
|
||||
{{- define "fluentd_image_full" }}
|
||||
{{- $fluentdImageBuilt := printf "%s/%s/%s-%s-fluentd:%s" .Values.docker_registry .Values.docker_namespace .Values.kolla_base_distro .Values.kolla_install_type .Values.fluentd_image_tag }}
|
||||
{{- $fluentdImageFull := .Values.kolla_toolbox_image_full | default $fluentdImageBuilt }}
|
||||
{{- $fluentdImageFull -}}
|
||||
{{ end }}
|
||||
|
||||
{{- define "common_volume_mounts" }}
|
||||
- mountPath: /var/log/kolla/
|
||||
name: kolla-logs
|
||||
|
|
|
@ -12,12 +12,26 @@
|
|||
# limitations under the License.
|
||||
|
||||
import copy
|
||||
import errno
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
|
||||
def helm_build_package(repodir, srcdir):
|
||||
command_line = "cd %s; helm package %s" % (repodir, srcdir)
|
||||
try:
|
||||
res = subprocess.check_output(
|
||||
command_line, shell=True,
|
||||
executable='/bin/bash')
|
||||
res = res.strip() # strip whitespace
|
||||
print(res)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(e)
|
||||
raise
|
||||
|
||||
|
||||
def _isdir(path, entry):
|
||||
return os.path.isdir(os.path.join(path, entry))
|
||||
|
||||
|
@ -31,9 +45,13 @@ def main():
|
|||
values = yaml.load(open(os.path.join(srcdir, "all_values.yaml")))
|
||||
|
||||
for package in [p for p in microservices if _isdir(microdir, p)]:
|
||||
template = os.path.join("templates", "_common_lib.yaml")
|
||||
shutil.copy(os.path.join(srcdir, "kolla-common", template),
|
||||
os.path.join(microdir, package, template))
|
||||
pkgchartdir = os.path.join(microdir, package, "charts")
|
||||
try:
|
||||
os.makedirs(pkgchartdir)
|
||||
except OSError as e:
|
||||
if e.errno != errno.EEXIST:
|
||||
raise
|
||||
helm_build_package(pkgchartdir, os.path.join(srcdir, "kolla-common"))
|
||||
pkg_values = copy.deepcopy(values['common'])
|
||||
try:
|
||||
pkg_values.update(values[package])
|
||||
|
|
Loading…
Reference in New Issue