Add ability to install docker-ee
also:
- added retries to install ucp
- required packages moved to separate method
Related-Prod: https://mirantis.jira.com/browse/PRODX-2228
Change-Id: I3890d9518b5dfd9e969416cbed06af6a96bbeecb
diff --git a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp3-gtw0.yaml b/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp3-gtw0.yaml
deleted file mode 100644
index 6443fb4..0000000
--- a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp3-gtw0.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-resource_registry:
- "MCP2::NetworkAcc": ../fragments/NetworkAccBM.yaml
- "MCP2::NetworkPrvFl": ../fragments/NetworkPrvFl.yaml
- "MCP2::SrvInstances": ../fragments/SrvInstancesBM.yaml
-
-parameters:
- image: bionic-server-cloudimg-amd64-20190612
- ucp_flavor: oscore-bm-lab-01
- masters_flavor: oscore-bm-lab-01
- workers_flavor: oscore-bm-lab-01
- cmps_flavor: oscore-bm-lab-01
- gtws_flavor: oscore-bm-lab-01
- lmas_flavor: oscore-bm-lab-01
- osds_flavor: oscore-bm-lab-01
- public_net_id: 'physnet1-402'
- host_interface: 'enp3s0f0'
- masters_size: 0
- worker_size: 3
- cmp_size: 3
- gtw_size: 0
- lma_size: 0
- osd_size: 0
- ucp_boot_timeout: 1200
- cluster_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp0evjOaK8c8SKYK4r2+0BN7g+8YSvQ2n8nFgOURCyvkJqOHi1qPGZmuN0CclYVdVuZiXbWw3VxRbSW3EH736VzgY1U0JmoTiSamzLHaWsXvEIW8VCi7boli539QJP0ikJiBaNAgZILyCrVPN+A6mfqtacs1KXdZ0zlMq1BPtFciR1JTCRcVs5vP2Wwz5QtY2jMIh3aiwkePjMTQPcfmh1TkOlxYu5IbQyZ3G1ahA0mNKI9a0dtF282av/F6pwB/N1R1nEZ/9VtcN2I1mf1NW/tTHEEcTzXYo1R/8K9vlqAN8QvvGLZtZduGviNVNoNWvoxaXxDt8CPv2B2NCdQFZp
- private_floating_network_cidr: '172.16.49.128/26'
- private_floating_network_pool_start: '172.16.49.180'
- private_floating_network_pool_end: '172.16.49.190'
- private_floating_network_gateway: '172.16.49.129'
- private_floating_interface: 'enp3s0f1.403'
- worker_metadata: {"labels": {"openstack-control-plane":"enabled","openstack-compute-node":"enabled","openvswitch":"enabled","role":"ceph-osd-node"}}
- cmp_metadata: {"labels": {"openstack-compute-node":"enabled","openvswitch":"enabled", "role":"ceph-osd-node"}}
- gtw_metadata: {"labels": {"openvswitch":"enabled"}}
- functions_override: |
- function network_config {
- PUBLIC_NODE_IP_ADDRESS=${PUBLIC_INTERFACE_IP:-$(ip addr show dev ${PUBLIC_INTERFACE} | grep -Po 'inet \K[\d.]+' | egrep -v "127.0.|172.17")}
- PUBLIC_NODE_IP_NETMASK=${PUBLIC_INTERFACE_NETMASK:-$(ip addr show dev ${PUBLIC_INTERFACE} | grep -Po 'inet \K[\d.]+\/[\d]+' | egrep -v "127.0.|172.17" | cut -d'/' -f2)}
-
- local cloud_netplan_cfg="/etc/netplan/50-cloud-init.yaml"
- local match_ip_line
- local public_if_mac
-
- DEBIAN_FRONTEND=noninteractive apt -y install bridge-utils atop
-
- cat << EOF > /etc/systemd/network/10-veth-phy-br.netdev
- [NetDev]
- Name=veth-phy
- Kind=veth
- [Peer]
- Name=veth-br
- EOF
-
- public_if_mac=$(ip link show $(echo ${PUBLIC_INTERFACE} | cut -d'.' -f1) | grep 'link/ether' | awk '{print $2}')
-
- sed -i 's/.*ethernets:.*/&\n veth-phy: {}/' ${cloud_netplan_cfg}
- sed -i 's/.*ethernets:.*/&\n veth-br: {}/' ${cloud_netplan_cfg}
- sed -i "s/.*ethernets:.*/&\n $(echo ${PUBLIC_INTERFACE} | cut -d'.' -f1):\n dhcp4: false\n match:\n macaddress: ${public_if_mac}\n set-name: $(echo ${PUBLIC_INTERFACE} | cut -d'.' -f1)/" ${cloud_netplan_cfg}
-
- cat << EOF >> ${cloud_netplan_cfg}
- vlans:
- ${PUBLIC_INTERFACE}:
- id: 403
- link: $(echo ${PUBLIC_INTERFACE} | cut -d'.' -f1)
- addresses: [ "${PUBLIC_NODE_IP_ADDRESS}/${PUBLIC_NODE_IP_NETMASK}" ]
- EOF
-
- netplan --debug apply
- }
diff --git a/de/heat-templates/fragments/SrvInstancesBM.yaml b/de/heat-templates/fragments/SrvInstancesBM.yaml
index 166b510..ab9fc36 100644
--- a/de/heat-templates/fragments/SrvInstancesBM.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBM.yaml
@@ -42,6 +42,10 @@
public_net_id:
type: string
default: ''
+ docker_ee_release:
+ type: string
+ docker_ee_url:
+ type: string
resources:
@@ -56,6 +60,8 @@
$node_type: { get_param: node_type }
$wait_condition_notify: { get_attr: [ wait_handle, curl_cli ] }
$ucp_license_key: { get_file: ../scripts/license.lic }
+ $docker_ee_url: { get_param: docker_ee_url }
+ $docker_ee_release: { get_param: docker_ee_release }
$ucp_master_host: { get_param: ucp_master_host }
$node_metadata: { get_param: metadata }
$host_interface: { get_param: host_interface }
diff --git a/de/heat-templates/fragments/SrvInstancesVM.yaml b/de/heat-templates/fragments/SrvInstancesVM.yaml
index 7cb89ae..db06a95 100644
--- a/de/heat-templates/fragments/SrvInstancesVM.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVM.yaml
@@ -41,6 +41,10 @@
default: ''
public_net_id:
type: string
+ docker_ee_release:
+ type: string
+ docker_ee_url:
+ type: string
resources:
@@ -55,6 +59,8 @@
$node_type: { get_param: node_type }
$wait_condition_notify: { get_attr: [ wait_handle, curl_cli ] }
$ucp_license_key: { get_file: ../scripts/license.lic }
+ $docker_ee_url: { get_param: docker_ee_url }
+ $docker_ee_release: { get_param: docker_ee_release }
$ucp_master_host: { get_param: ucp_master_host }
$node_metadata: { get_param: metadata }
$host_interface: { get_param: host_interface }
diff --git a/de/heat-templates/scripts/instance_boot.sh b/de/heat-templates/scripts/instance_boot.sh
index 7282da4..1e12aee 100644
--- a/de/heat-templates/scripts/instance_boot.sh
+++ b/de/heat-templates/scripts/instance_boot.sh
@@ -11,6 +11,8 @@
NODE_TYPE=$node_type
UCP_MASTER_HOST=$ucp_master_host
NODE_METADATA='$node_metadata'
+DOCKER_EE_URL='$docker_ee_url'
+DOCKER_EE_RELEASE='$docker_ee_release'
#
# End of block
#
@@ -19,6 +21,15 @@
# DOCKER_DEFAULT_ADDRESS_SIZE have to be less then netmask in DOCKER_DEFAULT_ADDRESS_POOL because
# to the fact that actual netmask for docker_gwbridge is given from it
DOCKER_DEFAULT_ADDRESS_SIZE=${DOCKER_DEFAULT_ADDRESS_SIZE:-24}
+DOCKER_EE_RELEASE=${DOCKER_EE_RELEASE:-stable-19.03}
+DOCKER_EE_PACKAGES='docker-ee'
+DOCKER_RELEASE='stable'
+DOCKER_PACKAGES='docker-ce'
+if [ -n "${DOCKER_EE_URL}" ]; then
+ DOCKER_URL="${DOCKER_EE_URL}"
+ DOCKER_RELEASE="${DOCKER_EE_RELEASE}"
+ DOCKER_PACKAGES="${DOCKER_EE_PACKAGES}"
+fi
HOST_INTERFACE=${HOST_INTERFACE:-ens3}
PUBLIC_INTERFACE=${PUBLIC_INTERFACE:-ens4}
NODE_IP_ADDRESS=$(ip addr show dev ${HOST_INTERFACE} |grep -Po 'inet \K[\d.]+' |egrep -v "127.0.|172.17")
@@ -78,15 +89,23 @@
fi
}
-function install_docker_ce {
+function install_required_packages {
function install_retry {
- apt install -y apt-transport-https ca-certificates curl software-properties-common
- curl --retry 6 --retry-delay 5 -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu ${OS_CODENAME} stable"
apt update
- apt install -y docker-ce jq unzip
+ apt install -y apt-transport-https ca-certificates curl software-properties-common jq unzip atop
}
- retry 10 "Failed to install docker CE" install_retry
+ retry 10 "Failed to install required packages" install_retry
+}
+
+
+function install_docker {
+ function install_retry {
+ curl --retry 6 --retry-delay 5 -fsSL "${DOCKER_URL}/ubuntu/gpg" | sudo apt-key add -
+ add-apt-repository "deb [arch=amd64] ${DOCKER_URL}/ubuntu ${OS_CODENAME} ${DOCKER_RELEASE}"
+ apt update
+ apt install -y ${DOCKER_PACKAGES}
+ }
+ retry 10 "Failed to install docker" install_retry
}
function update_docker_network {
@@ -207,7 +226,8 @@
local public_interface=${1:-${PUBLIC_INTERFACE}}
local cloud_netplan_cfg="/etc/netplan/50-cloud-init.yaml"
local match_ip_line
- DEBIAN_FRONTEND=noninteractive apt -y install bridge-utils atop
+ DEBIAN_FRONTEND=noninteractive apt -y install bridge-utils
+
cat << EOF > /etc/systemd/network/10-veth-phy-br.netdev
[NetDev]
Name=veth-phy
@@ -246,7 +266,8 @@
ucp)
prepare_network
update_docker_network
- install_docker_ce
+ install_required_packages
+ install_docker
network_config
swarm_init
create_ucp_config
@@ -261,7 +282,8 @@
master)
prepare_network
update_docker_network
- install_docker_ce
+ install_required_packages
+ install_docker
network_config
download_bundles
join_node manager
@@ -273,7 +295,8 @@
worker)
prepare_network
update_docker_network
- install_docker_ce
+ install_required_packages
+ install_docker
network_config
download_bundles
join_node worker
diff --git a/de/heat-templates/scripts/license.lic b/de/heat-templates/scripts/license.lic
index a923a91..7407f46 100644
--- a/de/heat-templates/scripts/license.lic
+++ b/de/heat-templates/scripts/license.lic
@@ -1 +1 @@
-{"key_id":"lm_DfgeIFfNITZK-oUibhI4poRik1cMA-OFmuofxyeAz","private_key":"tExKBK6pHfFdWoYAeqBbRKQuV8UTCG4jRh7j9WyW43ih","authorization":"ewogICAicGF5bG9hZCI6ICJleUpsZUhCcGNtRjBhVzl1SWpvaU1qQXlNQzB3TVMweE9GUXhORG93T1RvMU9Gb2lMQ0owYjJ0bGJpSTZJa3BGVUU5MVIzVnRObmROYjNRM056VnRVbEpwZEdGZlZXTndaakZHZVRWb2RYWnRhMU5aUkZJMldFRTlJaXdpYldGNFJXNW5hVzVsY3lJNk1UQXNJbk5qWVc1dWFXNW5SVzVoWW14bFpDSTZkSEoxWlN3aWJHbGpaVzV6WlZSNWNHVWlPaUpQYm14cGJtVWlMQ0owYVdWeUlqb2lWSEpwWVd3aUxDSnpkV0p6WTNKcGNIUnBiMjVmYVdRaU9pSnpkV0l0WlRFMVl6ZGhOell0WldKaU1pMDBZekF4TFRobE9HWXRaakkyTUdKak5ETTJORE5sSWl3aWNISnZaSFZqZEY5cFpDSTZJbVJ2WTJ0bGNpMWxaUzF6WlhKMlpYSXRkV0oxYm5SMUlpd2ljbUYwWlY5d2JHRnVYMmxrSWpvaVpHOWphMlZ5TFdWbExYTmxjblpsY2kxMVluVnVkSFV0ZEhKcFlXd3RkR2xsY2lJc0luWmxjbk5wYjI0aU9qRXNJbWR5WVdObFgyUmhlWE1pT2pFc0ltMWxkR0ZrWVhSaElqcDdJblZ6WlhKdVlXMWxJam9pYW5WdGNHOXFiM2tpTENKamIyMXdZVzU1SWpvaWVHRjBZU0o5TENKd2NtbGphVzVuWDJOdmJYQnZibVZ1ZEhNaU9sdDdJbTVoYldVaU9pSk9iMlJsY3lJc0luWmhiSFZsSWpveE1IMWRmUSIsCiAgICJzaWduYXR1cmVzIjogWwogICAgICB7CiAgICAgICAgICJoZWFkZXIiOiB7CiAgICAgICAgICAgICJqd2siOiB7CiAgICAgICAgICAgICAgICJlIjogIkFRQUIiLAogICAgICAgICAgICAgICAia2V5SUQiOiAiSjdMRDo2N1ZSOkw1SFo6VTdCQToyTzRHOjRBTDM6T0YyTjpKSEdCOkVGVEg6NUNWUTpNRkVPOkFFSVQiLAogICAgICAgICAgICAgICAia2lkIjogIko3TEQ6NjdWUjpMNUhaOlU3QkE6Mk80Rzo0QUwzOk9GMk46SkhHQjpFRlRIOjVDVlE6TUZFTzpBRUlUIiwKICAgICAgICAgICAgICAgImt0eSI6ICJSU0EiLAogICAgICAgICAgICAgICAibiI6ICJ5ZEl5LWxVN283UGNlWS00LXMtQ1E1T0VnQ3lGOEN4SWNRSVd1Szg0cElpWmNpWTY3MzB5Q1lud0xTS1Rsdy1VNlVDX1FSZVdSaW9NTk5FNURzNVRZRVhiR0c2b2xtMnFkV2JCd2NDZy0yVVVIX09jQjlXdVA2Z1JQSHBNRk1zeER6V3d2YXk4SlV1SGdZVUxVcG0xSXYtbXE3bHA1blFfUnhyVDBLWlJBUVRZTEVNRWZHd20zaE1PX2dlTFBTLWhnS1B0SUhsa2c2X1djb3hUR29LUDc5ZF93YUhZeEdObDdXaFNuZWlCU3hicGJRQUtrMjFsZzc5OFhiN3ZaeUVBVERNclJSOU1lRTZBZGo1SEpwWTNDb3lSQVBDbWFLR1JDSzR1b1pTb0l1MGhGVmxLVVB5YmJ3MDAwR08td2EyS044VXdnSUltMGk1STF1VzlHa3E0empCeTV6aGdxdVVYYkc5YldQQU9ZcnE1UWE4MUR4R2NCbEp5SFlBcC1ERFBFOVRHZzR6WW1YakpueFpxSEVkdUdxZGV2WjhYTUkwdWtma0dJSTE0d1VPaU1JSUlyWGxFY0JmXzQ2SThnUVdEenh5Y1plX0pHWC1MQXVheVhyeXJVRmVoVk5VZFpVbDl3WE5hSkIta2FDcXo1UXdhUjkzc0d3LVFTZnREME52TGU3Q3lPSC1FNnZnNlN0X05lVHZndjhZbmhDaVhJbFo4SE9mSXdOZTd0RUZfVWN6NU9iUHlrbTN0eWxyTlVqdDBWeUFtdHRhY1ZJMmlHaWhjVVBybWs0bFZJWjdWRF9MU1ctaTd5b1N1cnRwc1BYY2UycEtESW8zMGxKR2hPXzNLVW1sMlNVWkNxekoxeUVtS3B5c0g1SERXOWNzSUZDQTNkZUFqZlpVdk43VSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsZyI6ICJSUzI1NiIKICAgICAgICAgfSwKICAgICAgICAgInNpZ25hdHVyZSI6ICJLOTdEcC1yMTlPV1k0c0taZ0c0SGdGWGk0ZHJZX056a3hzeDJIbGY0NXJ5a0tWU3VOWWtrblYyaFMwdlY3ODB3anM5M1B3cTJLR2l2dkVteG5vc05qeWVodnJxYktDVFBUWEE5S1REQnNIT052QlEwT3gzSFpPdWRCXzF6Y2xSY3NIX3oyT1I0RFV5NFBXNGhHNUVSa055WnJHbE5FSFBXR2hMT1RVckU4OEIxRjc4eFAtU2RncGxtb3dkVVdaUEhPdzJxZUlxQ1NNUHZ2cHJ3OGVDSE1vYnJvNnZ2d00wTThxdkMxMkI1Tk5JUkMwTXVrbFhYdnVuN3pQTnU0c0dId2xfUDlfaU1VMkVCajlhOTBYRkJRWklQVFJlVG9JbmdPT2xuNExRTk9DdzNsYXZzRjhrbWRxZkdwSWRhNHFINWhYSmx6eEVWdlZEelNFUDlTbWY2QVFaUlNHT0h1TkZ0THZYRTB5TlBYOXNzV3B2Zy1GM0VZUUl2S0ZXdDBUbG9lS3lhdllnZEc4bFQ5VE8xdEZYdEJrdEdFb3hYa0FKb3BKWGJpc3pTdzJnd2c2dGJ6N0J6bFdQbWZzelBHUk94UTY3ZjFrQ3VGOXhKQ0RTcFhJb1BzM1FIWWJZMUVQMkJNUzRqNFVHQVVTaV8yanJQajhmZEpBaWFIeF9LWUZaSGMtMmZKd2R5VUQ4eWhmWk02UXlMRF95cDZyeGNiYkpuU1Z4TVlwRjc5SGxRR0d2UzBSN3Y5VUl2czhDRW9NLXBDeEJrc1NabjZtVVpnMTRjdGZLYVQ4cEtYd3NGRnFBZmthandxWDk4WjI5T1dtZTJlNmoxRWRXZWtOSVU5dzA0THlYR0lITmk5cHlpbzlVX2V5bnFFbkZNbjZ1aW5mcDVMa3U2TnZHUXgzQSIsCiAgICAgICAgICJwcm90ZWN0ZWQiOiAiZXlKbWIzSnRZWFJNWlc1bmRHZ2lPalExTUN3aVptOXliV0YwVkdGcGJDSTZJbVpSSWl3aWRHbHRaU0k2SWpJd01Ua3RNVEl0TVRkVU1UVTZORFU2TkROYUluMCIKICAgICAgfQogICBdCn0="}
\ No newline at end of file
+{"key_id":"lhF-hcUDANCs7YmGaTNHQ4N1aTSUfhO-jPhDchNbbmkd","private_key":"g-uMHRNS4BAn9yRMTAyLS2HbuwzKkRl3-Z1yGMaPD2Mn","authorization":"ewogICAicGF5bG9hZCI6ICJleUpsZUhCcGNtRjBhVzl1SWpvaU1qQXlNQzB3TWkweU9GUXhOVG95TXpveU1sb2lMQ0owYjJ0bGJpSTZJbFZUVmsxVFprZE9lVGQyUTE4ME0zQkViazF2ZGxjNFlraDVURGRWUm1GTlMyNW5hM0F5ZUZWSmJtODlJaXdpYldGNFJXNW5hVzVsY3lJNk1UQXNJbk5qWVc1dWFXNW5SVzVoWW14bFpDSTZkSEoxWlN3aWJHbGpaVzV6WlZSNWNHVWlPaUpQYm14cGJtVWlMQ0owYVdWeUlqb2lWSEpwWVd3aUxDSnpkV0p6WTNKcGNIUnBiMjVmYVdRaU9pSnpkV0l0TjJGaVlUWm1ZMlF0TkRGa1lpMDBZVEEwTFdKaU5EVXRObUUzT1dZM09EWXlaVGhrSWl3aWNISnZaSFZqZEY5cFpDSTZJbVJ2WTJ0bGNpMWxaUzEwY21saGJDSXNJbkpoZEdWZmNHeGhibDlwWkNJNkltUnZZMnRsY2kxbFpTMTBjbWxoYkMxMGNtbGhiQzEwYVdWeUlpd2lkbVZ5YzJsdmJpSTZNU3dpWjNKaFkyVmZaR0Y1Y3lJNk1Td2liV1YwWVdSaGRHRWlPbnNpZFhObGNtNWhiV1VpT2lKdWEyRnljR2x1SWl3aVkyOXRjR0Z1ZVNJNklrMXBjbUZ1ZEdsekluMHNJbkJ5YVdOcGJtZGZZMjl0Y0c5dVpXNTBjeUk2VzNzaWJtRnRaU0k2SWs1dlpHVnpJaXdpZG1Gc2RXVWlPakV3ZlYxOSIsCiAgICJzaWduYXR1cmVzIjogWwogICAgICB7CiAgICAgICAgICJoZWFkZXIiOiB7CiAgICAgICAgICAgICJqd2siOiB7CiAgICAgICAgICAgICAgICJlIjogIkFRQUIiLAogICAgICAgICAgICAgICAia2V5SUQiOiAiSjdMRDo2N1ZSOkw1SFo6VTdCQToyTzRHOjRBTDM6T0YyTjpKSEdCOkVGVEg6NUNWUTpNRkVPOkFFSVQiLAogICAgICAgICAgICAgICAia2lkIjogIko3TEQ6NjdWUjpMNUhaOlU3QkE6Mk80Rzo0QUwzOk9GMk46SkhHQjpFRlRIOjVDVlE6TUZFTzpBRUlUIiwKICAgICAgICAgICAgICAgImt0eSI6ICJSU0EiLAogICAgICAgICAgICAgICAibiI6ICJ5ZEl5LWxVN283UGNlWS00LXMtQ1E1T0VnQ3lGOEN4SWNRSVd1Szg0cElpWmNpWTY3MzB5Q1lud0xTS1Rsdy1VNlVDX1FSZVdSaW9NTk5FNURzNVRZRVhiR0c2b2xtMnFkV2JCd2NDZy0yVVVIX09jQjlXdVA2Z1JQSHBNRk1zeER6V3d2YXk4SlV1SGdZVUxVcG0xSXYtbXE3bHA1blFfUnhyVDBLWlJBUVRZTEVNRWZHd20zaE1PX2dlTFBTLWhnS1B0SUhsa2c2X1djb3hUR29LUDc5ZF93YUhZeEdObDdXaFNuZWlCU3hicGJRQUtrMjFsZzc5OFhiN3ZaeUVBVERNclJSOU1lRTZBZGo1SEpwWTNDb3lSQVBDbWFLR1JDSzR1b1pTb0l1MGhGVmxLVVB5YmJ3MDAwR08td2EyS044VXdnSUltMGk1STF1VzlHa3E0empCeTV6aGdxdVVYYkc5YldQQU9ZcnE1UWE4MUR4R2NCbEp5SFlBcC1ERFBFOVRHZzR6WW1YakpueFpxSEVkdUdxZGV2WjhYTUkwdWtma0dJSTE0d1VPaU1JSUlyWGxFY0JmXzQ2SThnUVdEenh5Y1plX0pHWC1MQXVheVhyeXJVRmVoVk5VZFpVbDl3WE5hSkIta2FDcXo1UXdhUjkzc0d3LVFTZnREME52TGU3Q3lPSC1FNnZnNlN0X05lVHZndjhZbmhDaVhJbFo4SE9mSXdOZTd0RUZfVWN6NU9iUHlrbTN0eWxyTlVqdDBWeUFtdHRhY1ZJMmlHaWhjVVBybWs0bFZJWjdWRF9MU1ctaTd5b1N1cnRwc1BYY2UycEtESW8zMGxKR2hPXzNLVW1sMlNVWkNxekoxeUVtS3B5c0g1SERXOWNzSUZDQTNkZUFqZlpVdk43VSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsZyI6ICJSUzI1NiIKICAgICAgICAgfSwKICAgICAgICAgInNpZ25hdHVyZSI6ICJLc1NzNnNlRjMxOXloaHNXaU8za3VtNGY0N0FuRUxTNHhteDNJcVg1bHl0aDRsUTlwX2dhYk1LN1liOUR5NEt5cUl0UUVXbWFQMWRJUEJJVXZqa1lvdGRyMGEzUjMtcHYxTlJqZVJEZk9RV2lFOEdWRklMRFpFamhmMW55bGFfRHJOcmx1NjNpQmd0ZU1DU0pNcVZwOHdhUGVEYS1zenRCVTRLT0dGaGE2Yk8wSU4xbFFMMGlmLWVfOF9WMnM2c1BLNnQ0SlNPVUE3VHp1aVo2MC1JSW5ibi01VC1pVi1lMGpXUTZzeXA1T0gxZnR5VWVpMXlvQjlLeXFpaVVZZm9PN0ZRN29LWmQyNjhzOGVqb3JueFVqdGdTaWF2aGZ4cVIyS0xxT1FOeldPSFpMVF9abGtRMHpVUUc4U3c4Z3NsUTBEb2k0SVpBRzRtMkgyQ19Mck9pbHhBRXBEWU9GZE1TeWhlaTBPZ2YzRU9mYzhCel9oc1BkZGFrU1hwUHVQcTJYV3N3SlVXX28zYXhJTjliTnNtUHp2djRscWJ2VVlybkNGWTQzLVEzaTFwajZLQXIzb0FlUG52LUI1dUJGYzJ6dzM0Mkg1NUItVVBBbWZkWnRnTUI5RVplc0d3VXBaMTZDUWFRa2I4M0lDWkdMUG8ybXdERFpsRzM3TmR4V203Vm5nRVFZRGVVU2ZaQS1RM3JqQW9ua1pvbjRNZldLMzVET0h2amV4SUJ5RzljTkU0STVIaGNKQlBqYURFVDRrcE9GcGZtQ1ZlQndiZXRXY21BZXFRWF9DVlpXRFowLWRhQzE4UnBLZU1lVFg5MnVYWU1oeFBpbGR4TzFZaTF4eWdFQzNVTXZYdDZHY0tvcWZtVnRTTUZWME44NWs3b2ZDVnI0Uk9Jc0RsY09pYyIsCiAgICAgICAgICJwcm90ZWN0ZWQiOiAiZXlKbWIzSnRZWFJNWlc1bmRHZ2lPalF6Tnl3aVptOXliV0YwVkdGcGJDSTZJbVpSSWl3aWRHbHRaU0k2SWpJd01qQXRNREV0TWpoVU1URTZNVEU2TlRoYUluMCIKICAgICAgfQogICBdCn0="}
\ No newline at end of file
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index 66f5680..45824d2 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -96,6 +96,12 @@
default: 'system.compact.openstack.control'
functions_override:
type: string
+ docker_ee_url:
+ type: string
+ default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux'
+ docker_ee_release:
+ type: string
+ default: 'stable-19.03'
resources:
key_pair:
@@ -120,6 +126,8 @@
type: MCP2::SrvInstances
properties:
metadata: {"role":"ucp"}
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
node_type: "ucp"
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
@@ -149,6 +157,8 @@
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: masters_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
@@ -176,6 +186,8 @@
image: { get_param: image }
flavor: { get_param: workers_flavor }
key_name: { get_param: "OS::stack_name" }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
@@ -201,6 +213,8 @@
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: cmps_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
@@ -226,6 +240,8 @@
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: gtws_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
@@ -251,6 +267,8 @@
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: lmas_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
@@ -276,6 +294,8 @@
key_name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: osds_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
accessible_network: { get_attr: [accessible_network, public_network] }
private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }