summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-11-05 20:59:51 +0000
committerGerrit Code Review <review@openstack.org>2018-11-05 20:59:51 +0000
commit66eb874e63a6d276baf4967dbb91ff3f0aefaf62 (patch)
tree226d1f3783cbeac0f65566925a04bf0721fda1c4
parent2e003450cceb16b9bda71aa69a939a8466516582 (diff)
parent74af40376bd6f7af6dea401fa75e964e73f00b33 (diff)
Merge "MAAS support for pod mobility"
-rw-r--r--charts/maas/templates/bin/_maas-ingress-errors.sh.tpl30
-rw-r--r--charts/maas/templates/bin/_maas-ingress.sh.tpl41
-rw-r--r--charts/maas/templates/bin/_maas-vip-configure.sh.tpl60
-rw-r--r--charts/maas/templates/configmap-bin.yaml6
-rw-r--r--charts/maas/templates/configmap-ingress.yaml38
-rw-r--r--charts/maas/templates/deployment-ingress-errors.yaml63
-rw-r--r--charts/maas/templates/etc/_curtin_userdata.tpl5
-rw-r--r--charts/maas/templates/etc/_regiond.conf.tpl6
-rw-r--r--charts/maas/templates/ingress-region.yaml35
-rw-r--r--charts/maas/templates/job-import.yaml4
-rw-r--r--charts/maas/templates/secret-admin-user.yaml2
-rw-r--r--charts/maas/templates/service-ingress-error.yaml28
-rw-r--r--charts/maas/templates/service-rack.yaml7
-rw-r--r--charts/maas/templates/service-region.yaml29
-rw-r--r--charts/maas/templates/statefulset-rack.yaml221
-rw-r--r--charts/maas/templates/statefulset-region.yaml8
-rw-r--r--charts/maas/templates/tests/test-maas-init.yaml2
-rw-r--r--charts/maas/values.yaml116
-rwxr-xr-xtools/helm_install.sh2
-rwxr-xr-xtools/helm_tk.sh2
20 files changed, 633 insertions, 72 deletions
diff --git a/charts/maas/templates/bin/_maas-ingress-errors.sh.tpl b/charts/maas/templates/bin/_maas-ingress-errors.sh.tpl
new file mode 100644
index 0000000..cca1bc4
--- /dev/null
+++ b/charts/maas/templates/bin/_maas-ingress-errors.sh.tpl
@@ -0,0 +1,30 @@
1#!/bin/sh
2
3{{/*
4Copyright 2018 The Openstack-Helm Authors.
5
6Licensed under the Apache License, Version 2.0 (the "License");
7you may not use this file except in compliance with the License.
8You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing, software
13distributed under the License is distributed on an "AS IS" BASIS,
14WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15See the License for the specific language governing permissions and
16limitations under the License.*/}}
17
18set -ex
19COMMAND="${@:-start}"
20
21if [ "x${COMMAND}" == "xstart" ]; then
22 if [[ -z "${BIND_PORT}" ]]
23 then
24 exec /server
25 else
26 exec /server -port ${BIND_PORT}
27 fi
28elif [ "x${COMMAND}" == "xstop" ]; then
29 kill -TERM 1
30fi
diff --git a/charts/maas/templates/bin/_maas-ingress.sh.tpl b/charts/maas/templates/bin/_maas-ingress.sh.tpl
new file mode 100644
index 0000000..5dda64a
--- /dev/null
+++ b/charts/maas/templates/bin/_maas-ingress.sh.tpl
@@ -0,0 +1,41 @@
1#!/bin/bash
2
3{{/*
4 Copyright 2018 The Openstack-Helm Authors.
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.*/}}
17
18set -ex
19
20COMMAND="${1:-start}"
21
22function start () {
23 exec /usr/bin/dumb-init \
24 /nginx-ingress-controller \
25 --http-port="${HTTP_PORT}" \
26 --watch-namespace="${POD_NAMESPACE}" \
27 --https-port="${HTTPS_PORT}" \
28 --status-port="${STATUS_PORT}" \
29 --healthz-port="${HEALTHZ_PORT}" \
30 --election-id=${RELEASE_NAME} \
31 --ingress-class=maas-ingress \
32 --default-backend-service=${POD_NAMESPACE}/${ERROR_PAGE_SERVICE} \
33 --configmap=${POD_NAMESPACE}/maas-ingress-config \
34 --tcp-services-configmap=${POD_NAMESPACE}/maas-ingress-services-tcp
35}
36
37function stop () {
38 kill -TERM 1
39}
40
41$COMMAND
diff --git a/charts/maas/templates/bin/_maas-vip-configure.sh.tpl b/charts/maas/templates/bin/_maas-vip-configure.sh.tpl
new file mode 100644
index 0000000..f1f6285
--- /dev/null
+++ b/charts/maas/templates/bin/_maas-vip-configure.sh.tpl
@@ -0,0 +1,60 @@
1#!/bin/bash
2
3{{/*
4Copyright 2018 The Openstack-Helm Authors.
5Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6
7Licensed under the Apache License, Version 2.0 (the "License");
8you may not use this file except in compliance with the License.
9You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13Unless required by applicable law or agreed to in writing, software
14distributed under the License is distributed on an "AS IS" BASIS,
15WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16See the License for the specific language governing permissions and
17limitations under the License.*/}}
18
19set -ex
20
21COMMAND="${@:-start}"
22
23function kernel_modules () {
24 chroot /mnt/host-rootfs modprobe dummy
25}
26
27function test_vip () {
28 ip addr show ${interface} | \
29 awk "/inet / && /${interface}/{print \$2 }" | \
30 awk -F '/' '{ print $1 }' | \
31 grep -q "${addr%/*}"
32}
33
34function start () {
35 kernel_modules
36 ip link show ${interface} > /dev/null || ip link add ${interface} type dummy
37 if ! test_vip; then
38 ip addr add ${addr} dev ${interface}
39 fi
40 ip link set ${interface} up
41}
42
43function sleep () {
44 exec /usr/bin/dumb-init bash -c "while :; do sleep 2073600; done"
45}
46
47function stop () {
48 ip link show ${interface} > /dev/null || exit 0
49 if test_vip; then
50 ip addr del ${addr} dev ${interface}
51 fi
52 if [ "$(ip address show ${interface} | \
53 awk "/inet / && /${interface}/{print \$2 }" | \
54 wc -l)" -le "0" ]; then
55 ip link set ${interface} down
56 ip link del ${interface}
57 fi
58}
59
60$COMMAND
diff --git a/charts/maas/templates/configmap-bin.yaml b/charts/maas/templates/configmap-bin.yaml
index 7dae307..2f875ee 100644
--- a/charts/maas/templates/configmap-bin.yaml
+++ b/charts/maas/templates/configmap-bin.yaml
@@ -41,3 +41,9 @@ data:
41{{ tuple "bin/_maas-test.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} 41{{ tuple "bin/_maas-test.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
42 ntpd.sh: | 42 ntpd.sh: |
43{{ tuple "bin/_ntpd.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }} 43{{ tuple "bin/_ntpd.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
44 maas-ingress: |
45{{ tuple "bin/_maas-ingress.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
46 maas-ingress-errors: |
47{{ tuple "bin/_maas-ingress-errors.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
48 maas-vip-configure: |
49{{ tuple "bin/_maas-vip-configure.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
diff --git a/charts/maas/templates/configmap-ingress.yaml b/charts/maas/templates/configmap-ingress.yaml
new file mode 100644
index 0000000..e289e27
--- /dev/null
+++ b/charts/maas/templates/configmap-ingress.yaml
@@ -0,0 +1,38 @@
1{{/*
2Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/}}
16
17{{- if .Values.manifests.configmap_ingress }}
18{{ $bind_address_cidr := .Values.network.maas_ingress.addr | splitList "/" }}
19---
20apiVersion: v1
21kind: ConfigMap
22metadata:
23 name: maas-ingress-services-tcp
24data:
25 {{ tuple "maas_region" "public" "region_api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }}: "{{- .Release.Namespace -}}/{{- tuple "maas_region" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" -}}:region-api"
26 {{ tuple "maas_region" "public" "region_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }}: "{{- .Release.Namespace -}}/{{- tuple "maas_region" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" -}}:region-proxy"
27...
28---
29apiVersion: v1
30kind: ConfigMap
31metadata:
32 name: maas-ingress-config
33data:
34 enable-underscores-in-headers: "true"
35 bind-address: {{ index $bind_address_cidr 0 | quote }}
36 diable-ipv6: "true"
37...
38{{- end }}
diff --git a/charts/maas/templates/deployment-ingress-errors.yaml b/charts/maas/templates/deployment-ingress-errors.yaml
new file mode 100644
index 0000000..a0381dc
--- /dev/null
+++ b/charts/maas/templates/deployment-ingress-errors.yaml
@@ -0,0 +1,63 @@
1{{/*
2Copyright 2017 The Openstack-Helm Authors.
3Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4
5Licensed under the Apache License, Version 2.0 (the "License");
6you may not use this file except in compliance with the License.
7You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11Unless required by applicable law or agreed to in writing, software
12distributed under the License is distributed on an "AS IS" BASIS,
13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14See the License for the specific language governing permissions and
15limitations under the License.
16*/}}
17
18{{- if .Values.manifests.rack_deployment }}
19{{- $envAll := . }}
20{{- $serviceAccountName := "maas-ingress-errors" }}
21{{- $mounts_maas_rack := .Values.pod.mounts.maas_rack }}
22{{- $mounts_maas_rack_init := .Values.pod.mounts.maas_rack.init_container }}
23
24{{ tuple $envAll "rack_controller" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
25---
26apiVersion: apps/v1beta1
27kind: Deployment
28metadata:
29 name: maas-ingress-errors
30spec:
31 serviceName: maas-rack
32 replicas: {{ .Values.pod.replicas.ingress_errors }}
33 template:
34 metadata:
35 labels:
36{{ tuple $envAll "maas" "ingress-errors" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
37 spec:
38 serviceAccountName: {{ $serviceAccountName }}
39 nodeSelector:
40 {{ .Values.labels.rack.node_selector_key }}: {{ .Values.labels.rack.node_selector_value }}
41 dnsPolicy: ClusterFirst
42 containers:
43 - name: maas-ingress-errors
44 image: {{ .Values.images.tags.error_pages }}
45 imagePullPolicy: {{ .Values.images.pull_policy }}
46{{ tuple $envAll $envAll.Values.pod.resources.maas_ingress_errors | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
47 command:
48 - /tmp/maas-ingress-errors.sh
49 - start
50 env:
51 - name: BIND_PORT
52 value: {{ tuple "maas_ingress" "podport" "error_pages" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }}
53 volumeMounts:
54 - mountPath: /tmp/maas-ingress-errors.sh
55 name: maas-bin
56 subPath: maas-ingress-errors
57 readOnly: true
58 volumes:
59 - name: maas-bin
60 configMap:
61 name: maas-bin
62 defaultMode: 0555
63{{- end }}
diff --git a/charts/maas/templates/etc/_curtin_userdata.tpl b/charts/maas/templates/etc/_curtin_userdata.tpl
index 9f65185..84ee704 100644
--- a/charts/maas/templates/etc/_curtin_userdata.tpl
+++ b/charts/maas/templates/etc/_curtin_userdata.tpl
@@ -1,3 +1,4 @@
1{{- $drydock_url := tuple "physicalprovisioner" "public" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" -}}
1#cloud-config 2#cloud-config
2debconf_selections: 3debconf_selections:
3 maas: | 4 maas: |
@@ -34,8 +35,8 @@ def find_ba_key(n):
34 return False 35 return False
35{{ "}}" }} 36{{ "}}" }}
36{{ "{{" }}py: ba_key = find_ba_key(node){{ "}}" }} 37{{ "{{" }}py: ba_key = find_ba_key(node){{ "}}" }}
37{{ "{{" }}py: ba_units_url = ''.join([{{ .Values.conf.drydock.bootaction_url | quote }},node.hostname,'/units']){{ "}}" }} 38{{ "{{" }}py: ba_units_url = ''.join([{{ quote $drydock_url }},'/bootactions/nodes/',node.hostname,'/units']){{ "}}" }}
38{{ "{{" }}py: ba_files_url = ''.join([{{ .Values.conf.drydock.bootaction_url | quote }},node.hostname,'/files']){{ "}}" }} 39{{ "{{" }}py: ba_files_url = ''.join([{{ quote $drydock_url }},'/bootactions/nodes/',node.hostname,'/files']){{ "}}" }}
39{{ "{{" }}if ba_key{{ "}}" }} 40{{ "{{" }}if ba_key{{ "}}" }}
40 drydock_00: ["sh", "-c", "echo Installing Drydock Boot Actions."] 41 drydock_00: ["sh", "-c", "echo Installing Drydock Boot Actions."]
41 drydock_01: ["curtin", "in-target", "--", "wget", "--no-proxy", "--header=X-Bootaction-Key: {{ "{{" }}ba_key{{ "}}" }}", "{{ "{{" }}ba_units_url{{ "}}" }}", "-O", "/tmp/bootaction-units.tar.gz"] 42 drydock_01: ["curtin", "in-target", "--", "wget", "--no-proxy", "--header=X-Bootaction-Key: {{ "{{" }}ba_key{{ "}}" }}", "{{ "{{" }}ba_units_url{{ "}}" }}", "-O", "/tmp/bootaction-units.tar.gz"]
diff --git a/charts/maas/templates/etc/_regiond.conf.tpl b/charts/maas/templates/etc/_regiond.conf.tpl
index c7b6cf8..83a2a5b 100644
--- a/charts/maas/templates/etc/_regiond.conf.tpl
+++ b/charts/maas/templates/etc/_regiond.conf.tpl
@@ -14,12 +14,8 @@
14# See the License for the specific language governing permissions and 14# See the License for the specific language governing permissions and
15# limitations under the License. 15# limitations under the License.
16*/}} 16*/}}
17{{- if empty .Values.conf.maas.url.maas_url -}}
18{{- tuple "maas_region_ui" "default" "region_ui" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.maas.url "maas_url" | quote | trunc 0 -}}
19{{- end }}
20
21database_host: {{ tuple "maas_db" "internal" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }} 17database_host: {{ tuple "maas_db" "internal" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
22database_name: {{ .Values.endpoints.maas_db.auth.user.database }} 18database_name: {{ .Values.endpoints.maas_db.auth.user.database }}
23database_pass: {{ .Values.endpoints.maas_db.auth.user.password }} 19database_pass: {{ .Values.endpoints.maas_db.auth.user.password }}
24database_user: {{ .Values.endpoints.maas_db.auth.user.username }} 20database_user: {{ .Values.endpoints.maas_db.auth.user.username }}
25maas_url: {{ .Values.conf.maas.url.maas_url }} 21maas_url: {{ tuple "maas_region" "public" "region_api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }}
diff --git a/charts/maas/templates/ingress-region.yaml b/charts/maas/templates/ingress-region.yaml
new file mode 100644
index 0000000..9801fae
--- /dev/null
+++ b/charts/maas/templates/ingress-region.yaml
@@ -0,0 +1,35 @@
1{{/*
2# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15*/}}
16
17{{- if and .Values.manifests.ingress_region .Values.network.region_api.ingress.public }}
18---
19apiVersion: extensions/v1beta1
20kind: Ingress
21metadata:
22 name: maas-region-api
23 annotations:
24 kubernetes.io/ingress.class: {{ .Values.network.region_api.ingress.classes.cluster | quote }}
25spec:
26 rules:
27 - host: {{ tuple "maas_region" "public" . | include "helm-toolkit.endpoints.hostname_fqdn_endpoint_lookup" }}
28 http:
29 paths:
30 - path: /
31 backend:
32 serviceName: {{ tuple "maas_region" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
33 servicePort: region-api
34...
35{{ end }}
diff --git a/charts/maas/templates/job-import.yaml b/charts/maas/templates/job-import.yaml
index 0a05558..8077338 100644
--- a/charts/maas/templates/job-import.yaml
+++ b/charts/maas/templates/job-import.yaml
@@ -56,7 +56,7 @@ spec:
56 - name: TRY_LIMIT 56 - name: TRY_LIMIT
57 value: {{ .Values.jobs.import_boot_resources.try_limit | quote }} 57 value: {{ .Values.jobs.import_boot_resources.try_limit | quote }}
58 - name: MAAS_ENDPOINT 58 - name: MAAS_ENDPOINT
59 value: {{ tuple "maas_region_ui" "default" "region_ui" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" }} 59 value: {{ tuple "maas_region" "public" "region_api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }}
60 - name: MAAS_PROXY_ENABLED 60 - name: MAAS_PROXY_ENABLED
61 value: {{ .Values.conf.maas.proxy.proxy_enabled | quote }} 61 value: {{ .Values.conf.maas.proxy.proxy_enabled | quote }}
62 - name: MAAS_PEER_PROXY_ENABLED 62 - name: MAAS_PEER_PROXY_ENABLED
@@ -64,7 +64,7 @@ spec:
64 - name: MAAS_PROXY_SERVER 64 - name: MAAS_PROXY_SERVER
65 value: {{ .Values.conf.maas.proxy.proxy_server }} 65 value: {{ .Values.conf.maas.proxy.proxy_server }}
66 - name: MAAS_INTERNAL_PROXY_PORT 66 - name: MAAS_INTERNAL_PROXY_PORT
67 value: {{ .Values.network.port.service_proxy | quote }} 67 value: {{ tuple "maas_region" "default" "region_proxy" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }}
68 - name: MAAS_HTTP_BOOT 68 - name: MAAS_HTTP_BOOT
69 value: {{ .Values.conf.maas.http_boot | quote }} 69 value: {{ .Values.conf.maas.http_boot | quote }}
70 - name: MAAS_NTP_SERVERS 70 - name: MAAS_NTP_SERVERS
diff --git a/charts/maas/templates/secret-admin-user.yaml b/charts/maas/templates/secret-admin-user.yaml
index 87e8599..62d9794 100644
--- a/charts/maas/templates/secret-admin-user.yaml
+++ b/charts/maas/templates/secret-admin-user.yaml
@@ -17,7 +17,7 @@ limitations under the License.
17{{- $envAll := . }} 17{{- $envAll := . }}
18{{- range $key1, $userClass := tuple "admin" }} 18{{- range $key1, $userClass := tuple "admin" }}
19{{- $secretName := index $envAll.Values.secrets.maas_users $userClass }} 19{{- $secretName := index $envAll.Values.secrets.maas_users $userClass }}
20{{- $auth := index $envAll.Values.endpoints.maas_region_ui.auth $userClass }} 20{{- $auth := index $envAll.Values.endpoints.maas_region.auth $userClass }}
21--- 21---
22apiVersion: v1 22apiVersion: v1
23kind: Secret 23kind: Secret
diff --git a/charts/maas/templates/service-ingress-error.yaml b/charts/maas/templates/service-ingress-error.yaml
new file mode 100644
index 0000000..4ff0712
--- /dev/null
+++ b/charts/maas/templates/service-ingress-error.yaml
@@ -0,0 +1,28 @@
1{{/*
2Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/}}
16---
17apiVersion: v1
18kind: Service
19metadata:
20 name: {{ tuple "maas_ingress" "error_pages" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
21spec:
22 ports:
23 - name: error-pages
24 port: {{ tuple "maas_ingress" "default" "error_pages" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
25 targetPort: {{ tuple "maas_ingress" "podport" "error_pages" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
26 selector:
27{{ tuple . "maas" "ingress-errors" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
28...
diff --git a/charts/maas/templates/service-rack.yaml b/charts/maas/templates/service-rack.yaml
deleted file mode 100644
index b24aef1..0000000
--- a/charts/maas/templates/service-rack.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
1---
2apiVersion: v1
3kind: Service
4metadata:
5 name: maas-rack
6spec:
7 clusterIP: 'None'
diff --git a/charts/maas/templates/service-region.yaml b/charts/maas/templates/service-region.yaml
index 646a0c6..06241ec 100644
--- a/charts/maas/templates/service-region.yaml
+++ b/charts/maas/templates/service-region.yaml
@@ -8,7 +8,6 @@ You may obtain a copy of the License at
8 http://www.apache.org/licenses/LICENSE-2.0 8 http://www.apache.org/licenses/LICENSE-2.0
9 9
10Unless required by applicable law or agreed to in writing, software 10Unless required by applicable law or agreed to in writing, software
11 app: maas-region
12distributed under the License is distributed on an "AS IS" BASIS, 11distributed under the License is distributed on an "AS IS" BASIS,
13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14See the License for the specific language governing permissions and 13See the License for the specific language governing permissions and
@@ -20,23 +19,23 @@ limitations under the License.
20apiVersion: v1 19apiVersion: v1
21kind: Service 20kind: Service
22metadata: 21metadata:
23 name: {{ tuple "maas_region_ui" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }} 22 name: {{ tuple "maas_region" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
24spec: 23spec:
25 ports: 24 ports:
26 - name: r-ui 25 - name: region-api
27 port: {{ .Values.network.port.service_gui }} 26 port: {{ tuple "maas_region" "internal" "region_api" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
28 targetPort: {{ .Values.network.port.service_gui_target }} 27 targetPort: {{ tuple "maas_region" "podport" "region_api" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
29 {{ if .Values.network.gui.node_port.enabled }} 28 {{ if .Values.network.region_api.node_port.enabled }}
30 nodePort: {{ .Values.network.gui.node_port.port }} 29 nodePort: {{ tuple "maas_region" "nodeport" "region_api" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
31 {{ end }} 30 {{ end }}
32 - port: {{ .Values.network.port.service_proxy }} 31 - name: region-proxy
33 targetPort: {{ .Values.network.port.service_proxy }} 32 port: {{ tuple "maas_region" "internal" "region_proxy" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
34 {{ if .Values.network.proxy.node_port.enabled }} 33 targetPort: {{ tuple "maas_region" "podport" "region_proxy" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
35 nodePort: {{ .Values.network.port.service_proxy }} 34 {{ if .Values.network.region_proxy.node_port.enabled }}
36 {{ end }} 35 nodePort: {{ tuple "maas_region" "nodeport" "region_proxy" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
37 name: proxy 36 {{ end }}
38 selector: 37 selector:
39{{ tuple $envAll "maas" "region" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} 38{{ tuple $envAll "maas" "region" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
40 {{ if .Values.network.proxy.node_port.enabled }} 39 {{ if or .Values.network.region_proxy.node_port.enabled .Values.network.region_api.node_port.enabled }}
41 type: NodePort 40 type: NodePort
42 {{ end }} 41 {{ end }}
diff --git a/charts/maas/templates/statefulset-rack.yaml b/charts/maas/templates/statefulset-rack.yaml
index 3086222..6b3832f 100644
--- a/charts/maas/templates/statefulset-rack.yaml
+++ b/charts/maas/templates/statefulset-rack.yaml
@@ -16,9 +16,6 @@ limitations under the License.
16*/}} 16*/}}
17 17
18{{- if .Values.manifests.rack_deployment }} 18{{- if .Values.manifests.rack_deployment }}
19{{- if empty .Values.conf.maas.url.maas_url -}}
20{{- tuple "maas_region_ui" "default" "region_ui" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.maas.url "maas_url" | quote | trunc 0 -}}
21{{- end -}}
22{{- $envAll := . }} 19{{- $envAll := . }}
23{{- $serviceAccountName := "maas-rack" }} 20{{- $serviceAccountName := "maas-rack" }}
24{{- $mounts_maas_rack := .Values.pod.mounts.maas_rack }} 21{{- $mounts_maas_rack := .Values.pod.mounts.maas_rack }}
@@ -26,6 +23,125 @@ limitations under the License.
26 23
27{{ tuple $envAll "rack_controller" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} 24{{ tuple $envAll "rack_controller" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
28--- 25---
26apiVersion: rbac.authorization.k8s.io/v1beta1
27kind: ClusterRole
28metadata:
29 name: {{ $serviceAccountName }}
30rules:
31 - apiGroups:
32 - ""
33 resources:
34 - configmaps
35 - endpoints
36 - nodes
37 - pods
38 - secrets
39 verbs:
40 - list
41 - watch
42 - apiGroups:
43 - ""
44 resources:
45 - nodes
46 verbs:
47 - get
48 - apiGroups:
49 - ""
50 resources:
51 - services
52 verbs:
53 - get
54 - list
55 - watch
56 - apiGroups:
57 - "extensions"
58 resources:
59 - ingresses
60 verbs:
61 - get
62 - list
63 - watch
64 - apiGroups:
65 - ""
66 resources:
67 - events
68 verbs:
69 - create
70 - patch
71 - apiGroups:
72 - "extensions"
73 resources:
74 - ingresses/status
75 verbs:
76 - update
77---
78apiVersion: rbac.authorization.k8s.io/v1beta1
79kind: ClusterRoleBinding
80metadata:
81 name: {{ $serviceAccountName }}
82roleRef:
83 apiGroup: rbac.authorization.k8s.io
84 kind: ClusterRole
85 name: {{ $serviceAccountName }}
86subjects:
87 - kind: ServiceAccount
88 name: {{ $serviceAccountName }}
89 namespace: {{ $envAll.Release.Namespace }}
90---
91apiVersion: rbac.authorization.k8s.io/v1beta1
92kind: Role
93metadata:
94 name: {{ $serviceAccountName }}
95 namespace: {{ $envAll.Release.Namespace }}
96rules:
97 - apiGroups:
98 - ""
99 resources:
100 - configmaps
101 - pods
102 - secrets
103 - namespaces
104 verbs:
105 - get
106 - apiGroups:
107 - ""
108 resources:
109 - configmaps
110 resourceNames:
111 - {{ printf "%s-maas-ingress" .Release.Name | quote }}
112 verbs:
113 - get
114 - update
115 - apiGroups:
116 - ""
117 resources:
118 - configmaps
119 verbs:
120 - create
121 - apiGroups:
122 - ""
123 resources:
124 - endpoints
125 verbs:
126 - get
127 - create
128 - update
129---
130apiVersion: rbac.authorization.k8s.io/v1beta1
131kind: RoleBinding
132metadata:
133 name: {{ $serviceAccountName }}
134 namespace: {{ $envAll.Release.Namespace }}
135roleRef:
136 apiGroup: rbac.authorization.k8s.io
137 kind: Role
138 name: {{ $serviceAccountName }}
139subjects:
140 - kind: ServiceAccount
141 name: {{ $serviceAccountName }}
142 namespace: {{ $envAll.Release.Namespace }}
143---
144---
29apiVersion: apps/v1beta1 145apiVersion: apps/v1beta1
30kind: StatefulSet 146kind: StatefulSet
31metadata: 147metadata:
@@ -47,21 +163,107 @@ spec:
47 spec: 163 spec:
48 serviceAccountName: {{ $serviceAccountName }} 164 serviceAccountName: {{ $serviceAccountName }}
49 affinity: 165 affinity:
50{{ tuple $envAll "maas" "rack" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }} 166{{- tuple $envAll "maas" "rack" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
51 nodeSelector: 167 nodeSelector:
52 {{ .Values.labels.rack.node_selector_key }}: {{ .Values.labels.rack.node_selector_value }} 168 {{ .Values.labels.rack.node_selector_key }}: {{ .Values.labels.rack.node_selector_value }}
53 hostNetwork: true 169 hostNetwork: true
54 dnsPolicy: ClusterFirst 170 dnsPolicy: ClusterFirstWithHostNet
55 initContainers: 171 initContainers:
56{{ tuple $envAll "rack_controller" $mounts_maas_rack_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} 172{{ tuple $envAll "rack_controller" $mounts_maas_rack_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
173 - name: maas-ingress-vip-init
174 image: {{ .Values.images.tags.ingress }}
175 imagePullPolicy: {{ .Values.images.pull_policy }}
176{{ tuple $envAll $envAll.Values.pod.resources.maas_ingress_vip | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
177 securityContext:
178 capabilities:
179 add:
180 - 'NET_ADMIN'
181 - 'SYS_MODULE'
182 runAsUser: 0
183 command:
184 - /tmp/maas-vip-configure.sh
185 - start
186 env:
187{{ include "helm-toolkit.utils.to_k8s_env_vars" .Values.network.maas_ingress | indent 12 }}
188 volumeMounts:
189 - mountPath: /tmp/maas-vip-configure.sh
190 name: maas-bin
191 subPath: maas-vip-configure
192 readOnly: true
193 - mountPath: /mnt/host-rootfs
194 name: host-rootfs
195 readOnly: true
57 containers: 196 containers:
197 - name: maas-ingress-vip
198 image: {{ .Values.images.tags.ingress }}
199 imagePullPolicy: {{ .Values.images.pull_policy }}
200{{ tuple $envAll $envAll.Values.pod.resources.maas_ingress_vip | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
201 securityContext:
202 capabilities:
203 add:
204 - 'NET_ADMIN'
205 runAsUser: 0
206 command:
207 - /tmp/maas-vip-configure.sh
208 - sleep
209 env:
210{{ include "helm-toolkit.utils.to_k8s_env_vars" .Values.network.maas_ingress | indent 12 }}
211 volumeMounts:
212 - mountPath: /tmp/maas-vip-configure.sh
213 name: maas-bin
214 subPath: maas-vip-configure
215 readOnly: true
216 lifecycle:
217 preStop:
218 exec:
219 command:
220 - /tmp/maas-vip-configure.sh
221 - stop
222 - name: maas-ingress
223 image: {{ .Values.images.tags.ingress }}
224 imagePullPolicy: {{ .Values.images.pull_policy }}
225{{ tuple $envAll $envAll.Values.pod.resources.maas_ingress | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
226 securityContext:
227 capabilities:
228 add:
229 - 'NET_BIND_SERVICE'
230 runAsUser: 0
231 command:
232 - /tmp/maas-ingress.sh
233 - start
234 env:
235 - name: POD_NAMESPACE
236 valueFrom:
237 fieldRef:
238 fieldPath: metadata.namespace
239 - name: POD_NAME
240 valueFrom:
241 fieldRef:
242 fieldPath: metadata.name
243 - name: RELEASE_NAME
244 value: {{ .Release.Name | quote }}
245 - name: HTTP_PORT
246 value: "8808"
247 - name: HTTPS_PORT
248 value: "8543"
249 - name: HEALTHZ_PORT
250 value: {{ tuple "maas_ingress" "podport" "healthz" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }}
251 - name: STATUS_PORT
252 value: {{ tuple "maas_ingress" "podport" "status" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | quote }}
253 - name: ERROR_PAGE_SERVICE
254 value: {{ tuple "maas_ingress" "error_pages" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" | quote }}
255 volumeMounts:
256 - mountPath: /tmp/maas-ingress.sh
257 name: maas-bin
258 subPath: maas-ingress
259 readOnly: true
58 - name: maas-rack 260 - name: maas-rack
59 image: {{ .Values.images.tags.maas_rack }} 261 image: {{ .Values.images.tags.maas_rack }}
60 imagePullPolicy: {{ .Values.images.pull_policy }} 262 imagePullPolicy: {{ .Values.images.pull_policy }}
61 tty: true 263 tty: true
62 env: 264 env:
63 - name: MAAS_ENDPOINT 265 - name: MAAS_ENDPOINT
64 value: {{ .Values.conf.maas.url.maas_url }} 266 value: {{ tuple "maas_region" "public" "region_api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }}
65 - name: MAAS_REGION_SECRET 267 - name: MAAS_REGION_SECRET
66 valueFrom: 268 valueFrom:
67 secretKeyRef: 269 secretKeyRef:
@@ -108,6 +310,10 @@ spec:
108 mountPath: /var/lib/maas 310 mountPath: /var/lib/maas
109 subPath: home 311 subPath: home
110 readOnly: false 312 readOnly: false
313 - name: maas-etc
314 mountPath: /etc/nsswitch.conf
315 subPath: nsswitch.conf
316 readOnly: true
111{{- if .Values.manifests.secret_ssh_key }} 317{{- if .Values.manifests.secret_ssh_key }}
112 - name: priv-key 318 - name: priv-key
113 subPath: PRIVATE_KEY 319 subPath: PRIVATE_KEY
@@ -118,6 +324,9 @@ spec:
118 - name: host-sys-fs-cgroup 324 - name: host-sys-fs-cgroup
119 hostPath: 325 hostPath:
120 path: /sys/fs/cgroup 326 path: /sys/fs/cgroup
327 - name: host-rootfs
328 hostPath:
329 path: /
121 - name: pod-run 330 - name: pod-run
122 emptyDir: {} 331 emptyDir: {}
123 - name: pod-run-lock 332 - name: pod-run-lock
diff --git a/charts/maas/templates/statefulset-region.yaml b/charts/maas/templates/statefulset-region.yaml
index 0f72dd8..7593761 100644
--- a/charts/maas/templates/statefulset-region.yaml
+++ b/charts/maas/templates/statefulset-region.yaml
@@ -56,11 +56,13 @@ spec:
56 tty: true 56 tty: true
57{{ tuple $envAll $envAll.Values.pod.resources.maas_region | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} 57{{ tuple $envAll $envAll.Values.pod.resources.maas_region | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
58 ports: 58 ports:
59 - name: r-ui 59 - name: region-api
60 containerPort: {{ .Values.network.port.region_container }} 60 containerPort: {{ tuple "maas_region" "podport" "region_api" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
61 - name: region-proxy
62 containerPort: {{ tuple "maas_region" "podport" "region_proxy" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
61 readinessProbe: 63 readinessProbe:
62 tcpSocket: 64 tcpSocket:
63 port: {{ .Values.network.port.region_container }} 65 port: {{ tuple "maas_region" "podport" "region_api" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
64 securityContext: 66 securityContext:
65 privileged: true 67 privileged: true
66 command: 68 command:
diff --git a/charts/maas/templates/tests/test-maas-init.yaml b/charts/maas/templates/tests/test-maas-init.yaml
index f574c52..61240ec 100644
--- a/charts/maas/templates/tests/test-maas-init.yaml
+++ b/charts/maas/templates/tests/test-maas-init.yaml
@@ -34,7 +34,7 @@ spec:
34 - name: "{{ .Release.Name }}-api-test" 34 - name: "{{ .Release.Name }}-api-test"
35 env: 35 env:
36 - name: 'MAAS_URL' 36 - name: 'MAAS_URL'
37 value: {{ tuple "maas_region_ui" "internal" "region_ui" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }} 37 value: {{ tuple "maas_region" "internal" "region_api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | quote }}
38 - name: 'MAAS_API_KEY' 38 - name: 'MAAS_API_KEY'
39 valueFrom: 39 valueFrom:
40 secretKeyRef: 40 secretKeyRef:
diff --git a/charts/maas/values.yaml b/charts/maas/values.yaml
index f2cd3b0..98f72aa 100644
--- a/charts/maas/values.yaml
+++ b/charts/maas/values.yaml
@@ -20,10 +20,8 @@
20dependencies: 20dependencies:
21 static: 21 static:
22 rack_controller: 22 rack_controller:
23 jobs:
24 - maas-db-sync
25 services: 23 services:
26 - service: maas_region_ui 24 - service: maas_region
27 endpoint: internal 25 endpoint: internal
28 region_controller: 26 region_controller:
29 jobs: 27 jobs:
@@ -42,23 +40,19 @@ dependencies:
42 jobs: 40 jobs:
43 - maas-db-sync 41 - maas-db-sync
44 services: 42 services:
45 - service: maas_region_ui 43 - service: maas_region
46 endpoint: internal 44 endpoint: internal
47 - service: maas_db 45 - service: maas_db
48 endpoint: internal 46 endpoint: internal
49 import_resources: 47 import_resources:
50 jobs:
51 - maas-db-sync
52 services: 48 services:
53 - service: maas_region_ui 49 - service: maas_region
54 endpoint: internal 50 endpoint: internal
55 - service: maas_db 51 - service: maas_db
56 endpoint: internal 52 endpoint: internal
57 export_api_key: 53 export_api_key:
58 jobs:
59 - maas-db-sync
60 services: 54 services:
61 - service: maas_region_ui 55 - service: maas_region
62 endpoint: internal 56 endpoint: internal
63 - service: maas_db 57 - service: maas_db
64 endpoint: internal 58 endpoint: internal
@@ -68,6 +62,8 @@ manifests:
68 rack_deployment: true 62 rack_deployment: true
69 test_maas_api: true 63 test_maas_api: true
70 secret_ssh_key: false 64 secret_ssh_key: false
65 ingress_region: true
66 configmap_ingress: true
71 67
72images: 68images:
73 tags: 69 tags:
@@ -79,6 +75,8 @@ images:
79 export_api_key: quay.io/airshipit/maas-region-controller:latest 75 export_api_key: quay.io/airshipit/maas-region-controller:latest
80 maas_cache: quay.io/airshipit/sstream-cache:latest 76 maas_cache: quay.io/airshipit/sstream-cache:latest
81 dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1 77 dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
78 ingress: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0
79 error_pages: gcr.io/google_containers/defaultbackend:1.0
82 pull_policy: IfNotPresent 80 pull_policy: IfNotPresent
83 local_registry: 81 local_registry:
84 # TODO(portdirect): this chart does not yet support local image cacheing 82 # TODO(portdirect): this chart does not yet support local image cacheing
@@ -102,20 +100,23 @@ labels:
102 node_selector_value: enabled 100 node_selector_value: enabled
103 101
104network: 102network:
105 proxy: 103 maas_ingress:
104 mode: routed
105 interface: maas-vip
106 addr: 172.18.0.2/32
107 region_proxy:
106 node_port: 108 node_port:
107 enabled: true 109 enabled: false
108 gui: 110 region_api:
111 ingress:
112 public: true
113 classes:
114 namespace: "maas-ingress"
115 cluster: "maas-ingress"
116 annotations:
117 nginx.ingress.kubernetes.io/rewrite-target: "/"
109 node_port: 118 node_port:
110 enabled: true 119 enabled: false
111 port: 31900
112 port:
113 region_container: 80
114 service_gui: 80
115 service_gui_target: 80
116 service_proxy: 31800
117 db_service: 5432
118 db_service_target: 5432
119 120
120storage: 121storage:
121 rackd: 122 rackd:
@@ -145,8 +146,6 @@ conf:
145 override: 146 override:
146 append: 147 append:
147 http_boot: true 148 http_boot: true
148 url:
149 maas_url: null
150 ntp: 149 ntp:
151 # These options allow you to mock out the ntpd binary within the container 150 # These options allow you to mock out the ntpd binary within the container
152 # by overwriting it with a script that simply sleeps - this is useful in 151 # by overwriting it with a script that simply sleeps - this is useful in
@@ -266,6 +265,27 @@ pod:
266 requests: 265 requests:
267 memory: "128Mi" 266 memory: "128Mi"
268 cpu: "500m" 267 cpu: "500m"
268 maas_ingress_vip:
269 limits:
270 memory: "128Mi"
271 cpu: "500m"
272 requests:
273 memory: "128Mi"
274 cpu: "500m"
275 maas_ingress:
276 limits:
277 memory: "128Mi"
278 cpu: "500m"
279 requests:
280 memory: "128Mi"
281 cpu: "500m"
282 maas_ingress_errors:
283 limits:
284 memory: "128Mi"
285 cpu: "500m"
286 requests:
287 memory: "128Mi"
288 cpu: "500m"
269 jobs: 289 jobs:
270 db_init: 290 db_init:
271 requests: 291 requests:
@@ -305,6 +325,24 @@ pod:
305 325
306endpoints: 326endpoints:
307 cluster_domain_suffix: cluster.local 327 cluster_domain_suffix: cluster.local
328 maas_ingress:
329 hosts:
330 default: maas-ingress
331 error_pages: maas-ingress-error
332 host_fqdn_override:
333 default: null
334 port:
335 http:
336 default: 80
337 https:
338 default: 443
339 error_pages:
340 default: 8080
341 podport: 10080
342 healthz:
343 podport: 10254
344 status:
345 podport: 18080
308 maas_db: 346 maas_db:
309 auth: 347 auth:
310 admin: 348 admin:
@@ -322,23 +360,45 @@ endpoints:
322 default: 5432 360 default: 5432
323 host_fqdn_override: 361 host_fqdn_override:
324 default: null 362 default: null
325 maas_region_ui: 363 maas_region:
326 name: maas-region-ui 364 name: maas-region
327 auth: 365 auth:
328 admin: 366 admin:
329 username: admin 367 username: admin
330 password: admin 368 password: admin
331 email: none@none 369 email: none@none
332 hosts: 370 hosts:
333 default: maas-region-ui 371 default: maas-region
334 public: maas 372 public: maas
335 path: 373 path:
336 default: /MAAS 374 default: /MAAS
337 scheme: 375 scheme:
338 default: 'http' 376 default: 'http'
339 port: 377 port:
340 region_ui: 378 region_api:
341 default: 80 379 default: 80
380 nodeport: 31900
381 podport: 80
342 public: 80 382 public: 80
383 region_proxy:
384 default: 8000
385 # podport and public need to be the same as of MAAS 2.3.4, so
386 # comment them out and let the default rule
387 # podport: 8000
388 # public: 8000
389 host_fqdn_override:
390 default: null
391 physicalprovisioner:
392 name: drydock
393 hosts:
394 default: drydock-api
395 port:
396 api:
397 default: 9000
398 nodeport: 31900
399 path:
400 default: /api/v1.0
401 scheme:
402 default: http
343 host_fqdn_override: 403 host_fqdn_override:
344 default: null 404 default: null
diff --git a/tools/helm_install.sh b/tools/helm_install.sh
index 0393ba1..57ac72d 100755
--- a/tools/helm_install.sh
+++ b/tools/helm_install.sh
@@ -17,7 +17,7 @@
17set -x 17set -x
18 18
19HELM=$1 19HELM=$1
20HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz"} 20HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://storage.googleapis.com/kubernetes-helm/helm-v2.10.0-linux-amd64.tar.gz"}
21 21
22 22
23function install_helm_binary { 23function install_helm_binary {
diff --git a/tools/helm_tk.sh b/tools/helm_tk.sh
index 9e0043e..9e3e6a3 100755
--- a/tools/helm_tk.sh
+++ b/tools/helm_tk.sh
@@ -18,7 +18,7 @@
18HELM=$1 18HELM=$1
19HTK_REPO=${HTK_REPO:-"https://github.com/openstack/openstack-helm-infra"} 19HTK_REPO=${HTK_REPO:-"https://github.com/openstack/openstack-helm-infra"}
20HTK_PATH=${HTK_PATH:-""} 20HTK_PATH=${HTK_PATH:-""}
21HTK_STABLE_COMMIT=${HTK_COMMIT:-"master"} 21HTK_STABLE_COMMIT=${HTK_COMMIT:-"4cd00f3ac539f625e7cd9733ae46232b2082027a"}
22DEP_UP_LIST=${DEP_UP_LIST:-"maas"} 22DEP_UP_LIST=${DEP_UP_LIST:-"maas"}
23 23
24if [[ ! -z $(echo $http_proxy) ]] 24if [[ ! -z $(echo $http_proxy) ]]