Merge "Switch on ntp service as TungstenFabric requires it for time checking"
diff --git a/de/heat-templates/fragments/SrvInstancesBM.yaml b/de/heat-templates/fragments/SrvInstancesBM.yaml
index a2ae698..14876f5 100644
--- a/de/heat-templates/fragments/SrvInstancesBM.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBM.yaml
@@ -48,7 +48,6 @@
type: string
docker_ucp_image:
type: string
- default: 'docker/ucp:3.2.4'
hardware_metadata:
description: The content of lab metadata.
default: ''
@@ -66,17 +65,16 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
$private_floating_network_cidr: { get_param: private_floating_network_cidr }
$private_floating_interface_ip: { get_attr: [private_floating_server_port, fixed_ips, 0, ip_address] }
$functions_override: { get_param: functions_override }
- $docker_ucp_image: { get_param: docker_ucp_image }
inject_files:
type: "OS::Heat::CloudConfig"
diff --git a/de/heat-templates/fragments/SrvInstancesBMCeph.yaml b/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
index 6d84308..e96a0e3 100644
--- a/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
@@ -53,6 +53,8 @@
ucp_master_host:
type: string
default: ''
+ docker_ucp_image:
+ type: string
public_net_id:
type: string
default: ''
@@ -76,10 +78,10 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
diff --git a/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml b/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
index e7b3831..b03830f 100644
--- a/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
@@ -67,6 +67,8 @@
ucp_master_host:
type: string
default: ''
+ docker_ucp_image:
+ type: string
public_net_id:
type: string
default: ''
@@ -94,10 +96,10 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
diff --git a/de/heat-templates/fragments/SrvInstancesVM.yaml b/de/heat-templates/fragments/SrvInstancesVM.yaml
index 5d0c936..6d2bbb9 100644
--- a/de/heat-templates/fragments/SrvInstancesVM.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVM.yaml
@@ -65,10 +65,10 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
diff --git a/de/heat-templates/fragments/SrvInstancesVMCeph.yaml b/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
index cdf9069..a367c7f 100644
--- a/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
@@ -53,6 +53,8 @@
ucp_master_host:
type: string
default: ''
+ docker_ucp_image:
+ type: string
public_net_id:
type: string
docker_ee_release:
@@ -84,10 +86,10 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
diff --git a/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml b/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
index 5a4d94a..588b0c9 100644
--- a/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
@@ -67,6 +67,8 @@
ucp_master_host:
type: string
default: ''
+ docker_ucp_image:
+ type: string
public_net_id:
type: string
docker_ee_release:
@@ -102,10 +104,10 @@
params:
$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 }
+ $docker_ucp_image: { get_param: docker_ucp_image }
$node_metadata: { get_param: metadata }
$control_network_cidr: { get_param: control_network_cidr }
$private_floating_interface: { get_param: private_floating_interface }
diff --git a/de/heat-templates/scripts/instance_boot.sh b/de/heat-templates/scripts/instance_boot.sh
index 4d36ca4..1d4275b 100644
--- a/de/heat-templates/scripts/instance_boot.sh
+++ b/de/heat-templates/scripts/instance_boot.sh
@@ -154,16 +154,28 @@
}
+function cache_images {
+
+ function cache_images_retry {
+ local image_prefix=${DOCKER_UCP_IMAGE%/*}
+ local image_name=${DOCKER_UCP_IMAGE##*/}
+ if [[ "$image_name" =~ .*-tp[0-9]+ ]]; then
+ for image in $(docker container run --rm --name ucp -v /var/run/docker.sock:/var/run/docker.sock ${DOCKER_UCP_IMAGE} images --list); do
+ docker pull ${image_prefix}/${image##*/};
+ docker tag ${image_prefix}/${image##*/} ${image}
+ done
+ fi
+ }
+
+ retry 10 "Can't cache docker images" cache_images_retry
+}
+
function install_ucp {
local tmpd
tmpd=$(mktemp -d)
- cat <<EOF > ${tmpd}/docker_subscription.lic
-$ucp_license_key
-EOF
function docker_run_retry {
docker container run --rm --name ucp \
-v /var/run/docker.sock:/var/run/docker.sock \
- -v $tmpd/docker_subscription.lic:/config/docker_subscription.lic \
${DOCKER_UCP_IMAGE} install \
--host-address $UCP_IP_ADDRESS \
--admin-username $UCP_USERNAME \
@@ -503,6 +515,7 @@
install_docker
swarm_init
create_ucp_config
+ cache_images
install_ucp
download_bundles
rm_ucp_config
@@ -525,6 +538,7 @@
configure_atop
workaround_default_forward_policy
install_docker
+ cache_images
download_bundles
join_node manager
install_kubectl
@@ -546,6 +560,7 @@
configure_atop
workaround_default_forward_policy
install_docker
+ cache_images
download_bundles
join_node worker
install_kubectl
@@ -565,6 +580,7 @@
configure_ntp
configure_atop
install_docker
+ cache_images
download_bundles
workaround_default_forward_policy
configure_contrack
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index dbc7589..8f7ca7a 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -329,6 +329,7 @@
flavor: { get_param: masters_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -358,6 +359,7 @@
key_name: { get_param: "OS::stack_name" }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -400,6 +402,7 @@
flavor: { get_param: cmps_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -442,6 +445,7 @@
flavor: { get_param: gtws_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -477,6 +481,7 @@
flavor: { get_param: lmas_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -512,6 +517,7 @@
flavor: { get_param: osds_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -554,6 +560,7 @@
flavor: { get_param: spares_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -596,6 +603,7 @@
flavor: { get_param: ntws_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }
@@ -631,6 +639,7 @@
flavor: { get_param: vbmcs_flavor }
docker_ee_url: { get_param: docker_ee_url }
docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
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] }