fix(overrides): place back missing overrides

This patch places back in functionality introduced in [0] that were lost
from refactoring.

[0] https://review.opendev.org/c/airship/charts/+/775065

Signed-off-by: Tin Lam <tin@irrational.io>
Change-Id: I6671fcf36c2fe0867c7bb7886cf24d50c09cfad0
This commit is contained in:
Tin Lam 2021-03-15 13:24:27 -05:00 committed by Stacey Fletcher
parent 37332487b9
commit 8377c131d9
11 changed files with 226 additions and 143 deletions

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "amf",
"project": "amf",
"repo": "amf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/amf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "amf",
[{
"chart_name": "amf",
"project": "amf",
"repo": "amf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/amf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "amf",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "amf", "tag"],
"tmp_name": ["releases", "images", "applications", "amf", "name"],
"tmp_repo": ["releases", "images", "applications", "amf", "repo"]
}
},
"releases": {
"images": {
"applications": {
"amf": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "ausf",
"project": "ausf",
"repo": "ausf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/ausf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "ausf",
[{
"chart_name": "ausf",
"project": "ausf",
"repo": "ausf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/ausf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "ausf",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "ausf", "tag"],
"tmp_name": ["releases", "images", "applications", "ausf", "name"],
"tmp_repo": ["releases", "images", "applications", "ausf", "repo"]
}
},
"releases": {
"images": {
"applications": {
"ausf": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -25,32 +25,35 @@ data:
}
]
chart.json: |
[
{
"chart_name": "mongodb-sharded",
"project": "mongodb",
"repo": "mongodb-sharded",
"version": "3.3.3",
"build_from_source": false,
"path": "",
"build": {
"name": "https://charts.bitnami.com/bitnami",
"local_repo": "bitnami_mongodb",
"target_loc": "/src/fetch/charts"
},
"namespace": "development-pipeline",
"release_name": "mongodb-bitnami",
"images": {
"applications": {
"mongodb-sharded": {
"tag": "1.0",
"name": "mongodb",
"repo": "mongodb"
}
}
[{
"chart_name": "mongodb-sharded",
"project": "mongodb",
"repo": "mongodb-sharded",
"version": "3.3.3",
"build_from_source": false,
"path": "",
"build": {
"name": "https://charts.bitnami.com/bitnami",
"local_repo": "bitnami_mongodb",
"target_loc": "/src/fetch/charts"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "mongodb-bitnami",
"sources": {
"image_map": {
"tag": ["releases", "image", "tag"],
"tmp_name": ["releases", "image", "repository"],
"tmp_repo": ["releases", "image", "registry"]
}
},
"releases": {
"image": {
"registry": "docker.io",
"repository": "bitnami/mongodb-sharded",
"tag": "4.4.4-debian-10-r28"
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "nrf",
"project": "nrf",
"repo": "nrf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/nrf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "nrf",
[{
"chart_name": "nrf",
"project": "nrf",
"repo": "nrf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/nrf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "nrf",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "nrf", "tag"],
"tmp_name": ["releases", "images", "applications", "nrf", "name"],
"tmp_repo": ["releases", "images", "applications", "nrf", "repo"]
}
},
"releases": {
"images": {
"applications": {
"nrf": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "pcf",
"project": "pcf",
"repo": "pcf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/pcf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "pcf",
[{
"chart_name": "pcf",
"project": "pcf",
"repo": "pcf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/pcf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "pcf",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "pcf", "tag"],
"tmp_name": ["releases", "images", "applications", "pcf", "name"],
"tmp_repo": ["releases", "images", "applications", "pcf", "repo"]
}
},
"releases": {
"images": {
"applications": {
"pcf": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "smf",
"project": "smf",
"repo": "smf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/smf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "smf",
[{
"chart_name": "smf",
"project": "smf",
"repo": "smf",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/smf",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "smf",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "smf", "tag"],
"tmp_name": ["releases", "images", "applications", "smf", "name"],
"tmp_repo": ["releases", "images", "applications", "smf", "repo"]
}
},
"releases": {
"images": {
"applications": {
"smf": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -28,22 +28,29 @@ data:
}
]
chart.json: |
[
{
"chart_name": "udm",
"project": "udm",
"repo": "udm",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/udm",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "udm",
[{
"chart_name": "udm",
"project": "udm",
"repo": "udm",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/udm",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "udm",
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "udm", "tag"],
"tmp_name": ["releases", "images", "applications", "udm", "name"],
"tmp_repo": ["releases", "images", "applications", "udm", "repo"]
}
},
"releases": {
"images": {
"applications": {
"udm": {
@ -54,7 +61,7 @@ data:
}
}
}
]
}]
default.json: |
{
"proxy": {

View File

@ -9,7 +9,7 @@ data:
"use_existing_cluster": "true"
}
image.json: |
{
[{
"build_from_source": true,
"image_from": "harbor-core.jarvis.local/library/ubuntu:focal",
"image_name": "udr",
@ -25,33 +25,42 @@ data:
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
}
}
}]
chart.json: |
{
[{
"chart_name": "udr",
"project": "udr",
"repo": "udr",
"version": "0.1.0",
"build_from_source": true,
"path": "charts",
"namespace": "{{ $.Values.namespace }}",
"build": {
"git_repo": "{{ $.Values.git_repo }}",
"target_loc": "/src/checkout/udr",
"refspec": "{{ $.Values.refspec }}",
"version": "refs/changes/*:refs/changes/*"
},
"namespace": "{{ $.Values.namespace }}",
"release_name": "udr",
"images": {
"applications": {
"udr": {
"tag": "1.0",
"name": "udr",
"repo": "udr"
"sources": {
"image_map": {
"tag": ["releases", "images", "applications", "udr", "tag"],
"tmp_name": ["releases", "images", "applications", "udr", "name"],
"tmp_repo": ["releases", "images", "applications", "udr", "repo"]
}
},
"releases": {
"images": {
"applications": {
"udr": {
"tag": "1.0",
"name": "udr",
"repo": "udr"
}
}
}
}
}
}]
default.json: |
{
"proxy": {

View File

@ -21,6 +21,7 @@ RUN apt-get update ;\
ca-certificates \
gnupg-agent \
software-properties-common \
moreutils \
gettext-base ;\
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - ;\
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ;\

View File

@ -4,7 +4,8 @@ set -ex
update-ca-certificates
ansible-playbook -vvv /playbooks/functional-microflow.yaml -i hosts \
-e '{"stage":"deploy"}' \
-e @"/workspace/development_pipeline_data/default.json" \
-e @"/workspace/development_pipeline_data/cluster.json" \
-e 'loop_source="/workspace/development_pipeline_data/chart.json"'
-e '{"stage":"deploy"}' \
-e @"/workspace/development_pipeline_data/default.json" \
-e @"/workspace/development_pipeline_data/cluster.json" \
-e 'loop_source="/workspace/development_pipeline_data/chart.json"' \
-e '{"datapath":"/workspace/development_pipeline_data"}'

View File

@ -6,9 +6,36 @@
when: ("{{ stage }}" == "deploy")
block:
#Deploy CNF
- name: Deploy charts
shell: helm upgrade --install --create-namespace --kubeconfig="{{ cluster_kubeconfig_path }}/kubeconfig" "{{ chart.release_name }}" "{{ chart.project }}-staging/{{ chart.chart_name }}" --version="{{ chart.version }}" --namespace="{{ chart.namespace }}"
shell: |
set -xe ;
CHARTNAME={{ chart.chart_name }} ;
REPO={{ docker_registry }} ;
NAME={{ chart.project }}-staging/{{ chart.chart_name }} ;
jq -c --arg c $CHARTNAME --arg v $REPO 'map(if .repo == $c then .["tmp_repo"] = $v else . end)' {{ datapath }}/image.json | sponge {{ datapath }}/image.json ;
jq -c --arg c $CHARTNAME --arg v $NAME 'map(if .repo == $c then .["tmp_name"] = $v else . end)' {{ datapath }}/image.json | sponge {{ datapath }}/image.json ;
M=$(jq -c --arg c $CHARTNAME 'map(select(.chart_name == $c)) | first | .sources.image_map' {{ datapath }}/chart.json) ;
if [ "$M" != "null" ] && [ -n "$M" ] ; then \
echo $M | jq -r 'keys[]' | while IFS= read -r k; do \
v=$(echo $M | jq -c --arg k $k '.[$k]') ;\
filter=".$k" ;\
value=$(jq -c --arg c $CHARTNAME 'map(select(.image_name == $c)) | first' {{ datapath}}/image.json | jq -r $filter) ;\
jq -r --arg c $CHARTNAME --argjson k $v --arg v $value 'map(if .chart_name == $c then getpath($k) = $v else . end)' {{ datapath }}/chart.json | sponge {{ datapath }}/chart.json ;\
done ; \
fi ;
jq -c --arg c $CHARTNAME 'map(select(.chart_name == $c)) | first | .releases' \
{{ datapath }}/chart.json > {{ datapath }}/{{ chart.chart_name }}-overrides.json ;
cat {{ datapath }}/{{ chart.chart_name }}-overrides.json ;
helm upgrade --install \
--kubeconfig="{{ cluster_kubeconfig_path }}/kubeconfig" \
"{{ chart.release_name }}" "{{ chart.project }}-staging/{{ chart.chart_name }}" \
--version="{{ chart.version }}" \
--values="{{ datapath }}/{{ chart.chart_name }}-overrides.json" \
--namespace="{{ chart.namespace }}"
args:
executable: /bin/bash
loop: "{{ charts }}"
loop_control:
loop_var: "chart"