-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy pathbump-multus-dynamic-networks.sh
More file actions
executable file
·84 lines (70 loc) · 4.29 KB
/
Copy pathbump-multus-dynamic-networks.sh
File metadata and controls
executable file
·84 lines (70 loc) · 4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env bash
set -xeo pipefail
source hack/components/yaml-utils.sh
source hack/components/git-utils.sh
source hack/components/docker-utils.sh
function __parametize_by_object() {
for f in ./*; do
case "${f}" in
./ConfigMap_dynamic-networks-controller-config.yaml)
yaml-utils::update_param ${f} metadata.namespace '{{ .Namespace }}'
json_content=$(yaml-utils::get_param ${f} 'data."dynamic-networks-config.json"')
updated_json=$(echo "${json_content}" | sed -E "s|\"criSocketPath\": *\"[^\"]*\"|\"criSocketPath\": \"/host{{ .HostCRISocketPath }}\"|")
yaml-utils::set_param ${f} 'data."dynamic-networks-config.json"' "${updated_json}"$'\n'
yaml-utils::unquote_template_variables ${f}
;;
./ClusterRoleBinding_dynamic-networks-controller.yaml)
yaml-utils::update_param ${f} subjects[0].namespace '{{ .Namespace }}'
yaml-utils::unquote_template_variables ${f}
;;
./DaemonSet_dynamic-networks-controller-ds.yaml)
yaml-utils::update_param ${f} metadata.namespace '{{ .Namespace }}'
yaml-utils::set_param ${f} spec.template.spec.containers[0].imagePullPolicy '{{ .ImagePullPolicy }}'
yaml-utils::update_param ${f} spec.template.spec.containers[0].image '{{ .MultusDynamicNetworksControllerImage }}'
yaml-utils::update_param ${f} '(.spec.template.spec.containers[0].volumeMounts[] | select(.name == "cri-socket")).mountPath' '/host{{ .HostCRISocketPath }}'
yaml-utils::set_param ${f} spec.template.spec.affinity '{{ toYaml .Placement.Affinity | nindent 8 }}'
yaml-utils::update_param ${f} spec.template.spec.tolerations '{{ toYaml .Placement.Tolerations | nindent 8 }}'
yaml-utils::update_param ${f} '(.spec.template.spec.volumes[] | select(.name == "cri-socket")).hostPath.path' '{{ .HostCRISocketPath }}'
yaml-utils::unquote_template_variables ${f}
;;
./ServiceAccount_dynamic-networks-controller.yaml)
yaml-utils::update_param ${f} metadata.namespace '{{ .Namespace }}'
yaml-utils::unquote_template_variables ${f}
;;
esac
done
}
echo 'Bumping multus-dynamic-networks-controller'
MULTUS_DYNAMIC_NETWORKS_URL=$(yaml-utils::get_component_url multus-dynamic-networks)
MULTUS_DYNAMIC_NETWORKS_COMMIT=$(yaml-utils::get_component_commit multus-dynamic-networks)
MULTUS_DYNAMIC_NETWORKS_REPO=$(yaml-utils::get_component_repo ${MULTUS_DYNAMIC_NETWORKS_URL})
TEMP_DIR=$(git-utils::create_temp_path multus-dynamic-networks)
trap "rm -rf ${TEMP_DIR}" EXIT
MULTUS_DYNAMIC_NETWORKS_PATH=${TEMP_DIR}/${MULTUS_DYNAMIC_NETWORKS_REPO}
echo 'Fetch multus-dynamic-networks-controller sources'
git-utils::fetch_component ${MULTUS_DYNAMIC_NETWORKS_PATH} ${MULTUS_DYNAMIC_NETWORKS_URL} ${MULTUS_DYNAMIC_NETWORKS_COMMIT}
echo 'Adjust multus-dynamic-networks-controller to CNAO'
(
cd ${MULTUS_DYNAMIC_NETWORKS_PATH}
mkdir -p config/cnao
cp manifests/crio-dynamic-networks-controller.yaml config/cnao
echo 'Split manifest per object'
cd config/cnao
$(yaml-utils::split_yaml_by_seperator . crio-dynamic-networks-controller.yaml)
rm crio-dynamic-networks-controller.yaml
$(yaml-utils::rename_files_by_object .)
echo 'parametize manifests by object'
__parametize_by_object
echo 'rejoin sub-manifests to final manifest'
cat * > multus-dynamic-networks-controller.yaml
)
echo 'copy manifests'
rm -rf data/multus-dynamic-networks-controller/*
cp ${MULTUS_DYNAMIC_NETWORKS_PATH}/config/cnao/multus-dynamic-networks-controller.yaml data/multus-dynamic-networks-controller/000-controller.yaml
echo 'Get multus-dynamic-networks image name and update it under CNAO'
MULTUS_DYNAMIC_NETWORKS_TAG=$(git-utils::get_component_tag ${MULTUS_DYNAMIC_NETWORKS_PATH})
MULTUS_DYNAMIC_NETWORKS_IMAGE=ghcr.io/k8snetworkplumbingwg/multus-dynamic-networks-controller
MULTUS_DYNAMIC_NETWORKS_IMAGE_TAGGED=${MULTUS_DYNAMIC_NETWORKS_IMAGE}:${MULTUS_DYNAMIC_NETWORKS_TAG}
MULTUS_DYNAMIC_NETWORKS_IMAGE_DIGEST="$(docker-utils::get_image_digest "${MULTUS_DYNAMIC_NETWORKS_IMAGE_TAGGED}" "${MULTUS_DYNAMIC_NETWORKS_IMAGE}")"
sed -i -r "s#\"${MULTUS_DYNAMIC_NETWORKS_IMAGE}(@sha256)?:.*\"#\"${MULTUS_DYNAMIC_NETWORKS_IMAGE_DIGEST}\"#" pkg/components/components.go
sed -i -r "s#\"${MULTUS_DYNAMIC_NETWORKS_IMAGE}(@sha256)?:.*\"#\"${MULTUS_DYNAMIC_NETWORKS_IMAGE_DIGEST}\"#" test/releases/${CNAO_VERSION}.go