Allow to source functions from install script
Related-Prod: PRODX-11818
Change-Id: Id85f2daa379da089707d3d4aa421d4f49159b21e
diff --git a/de/heat-templates/scripts/instance_boot.sh b/de/heat-templates/scripts/instance_boot.sh
index f1f318e..e3f66cf 100644
--- a/de/heat-templates/scripts/instance_boot.sh
+++ b/de/heat-templates/scripts/instance_boot.sh
@@ -3,6 +3,10 @@
# allow access to the local variables from prepare-metadata.py
set -a
+# ensure we don't re-source this in the same environment
+[[ -z "$_INSTALL_SCRIPT" ]] || return 0
+declare -r -g _INSTALL_SCRIPT=1
+
#
# Variables in this block are passed from heat template
#
@@ -847,127 +851,129 @@
setup_evpn
}
-case "$NODE_TYPE" in
- # Please keep the "prepare_metadata_files", "disable-rp-filter", "network_config" and "prepare_network" functions
- # at the very beginning in the same order.
- ucp)
- prepare_metadata_files
- disable_rp_filter
- network_config
- prepare_network
- prepare_docker_config
- install_required_packages
- configure_ntp
- configure_atop
- workaround_default_forward_policy
- install_docker
- swarm_init
- create_ucp_config
- cache_images
- install_ucp
- download_bundles
- rm_ucp_config
- install_kubectl
- wait_for_node
- set_node_labels
- collect_ceph_metadata
- configure_contrack
- disable_iptables_for_bridges
- if [[ "${SINGLE_NODE}" == true ]]; then
+if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
+ case "$NODE_TYPE" in
+ # Please keep the "prepare_metadata_files", "disable-rp-filter", "network_config" and "prepare_network" functions
+ # at the very beginning in the same order.
+ ucp)
+ prepare_metadata_files
+ disable_rp_filter
+ network_config
+ prepare_network
+ prepare_docker_config
+ install_required_packages
+ configure_ntp
+ configure_atop
+ workaround_default_forward_policy
+ install_docker
+ swarm_init
+ create_ucp_config
+ cache_images
+ install_ucp
+ download_bundles
+ rm_ucp_config
+ install_kubectl
+ wait_for_node
+ set_node_labels
+ collect_ceph_metadata
+ configure_contrack
+ disable_iptables_for_bridges
+ if [[ "${SINGLE_NODE}" == true ]]; then
+ nested_virt_config
+ disable_master_taint
+ collect_interfaces_metadata
+ fi
+ ;;
+ master)
nested_virt_config
- disable_master_taint
+ prepare_metadata_files
+ disable_rp_filter
+ network_config
+ prepare_network
+ prepare_docker_config
+ install_required_packages
+ configure_ntp
+ configure_atop
+ workaround_default_forward_policy
+ install_docker
+ cache_images
+ download_bundles
+ join_node manager
+ install_kubectl
+ wait_for_node
+ set_node_labels
+ collect_ceph_metadata
+ configure_contrack
+ disable_iptables_for_bridges
collect_interfaces_metadata
- fi
- ;;
- master)
- nested_virt_config
- prepare_metadata_files
- disable_rp_filter
- network_config
- prepare_network
- prepare_docker_config
- install_required_packages
- configure_ntp
- configure_atop
- workaround_default_forward_policy
- install_docker
- cache_images
- download_bundles
- join_node manager
- install_kubectl
- wait_for_node
- set_node_labels
- collect_ceph_metadata
- configure_contrack
- disable_iptables_for_bridges
- collect_interfaces_metadata
- ;;
- worker)
- if [[ "${CONFIGURE_HUGE_PAGES}" == true ]]; then
- configure_huge_pages
- fi
- nested_virt_config
- prepare_metadata_files
- disable_rp_filter
- network_config
- prepare_network
- prepare_docker_config
- install_required_packages
- enable_iscsi
- configure_ntp
- configure_atop
- workaround_default_forward_policy
- install_docker
- cache_images
- download_bundles
- join_node worker
- install_kubectl
- wait_for_node
- set_node_labels
- collect_ceph_metadata
- configure_contrack
- disable_iptables_for_bridges
- collect_interfaces_metadata
- if [[ "${LVM_LOOP_DEVICE_SIZE}" -gt 0 ]]; then
- configure_lvm
- fi
- ;;
- spare)
- prepare_metadata_files
- disable_rp_filter
- network_config
- prepare_network
- prepare_docker_config
- install_required_packages
- configure_ntp
- configure_atop
- install_docker
- cache_images
- download_bundles
- workaround_default_forward_policy
- configure_contrack
- disable_iptables_for_bridges
- ;;
- frr)
- prepare_metadata_files
- disable_rp_filter
- network_config
- prepare_network
- prepare_docker_config
- install_required_packages
- configure_ntp
- configure_atop
- install_docker
- cache_images
- download_bundles
- workaround_default_forward_policy
- configure_contrack
- disable_iptables_for_bridges
- install_frr
- ;;
- *)
- echo "Usage: $0 {ucp|master|worker}"
- exit 1
-esac
+ ;;
+ worker)
+ if [[ "${CONFIGURE_HUGE_PAGES}" == true ]]; then
+ configure_huge_pages
+ fi
+ nested_virt_config
+ prepare_metadata_files
+ disable_rp_filter
+ network_config
+ prepare_network
+ prepare_docker_config
+ install_required_packages
+ enable_iscsi
+ configure_ntp
+ configure_atop
+ workaround_default_forward_policy
+ install_docker
+ cache_images
+ download_bundles
+ join_node worker
+ install_kubectl
+ wait_for_node
+ set_node_labels
+ collect_ceph_metadata
+ configure_contrack
+ disable_iptables_for_bridges
+ collect_interfaces_metadata
+ if [[ "${LVM_LOOP_DEVICE_SIZE}" -gt 0 ]]; then
+ configure_lvm
+ fi
+ ;;
+ spare)
+ prepare_metadata_files
+ disable_rp_filter
+ network_config
+ prepare_network
+ prepare_docker_config
+ install_required_packages
+ configure_ntp
+ configure_atop
+ install_docker
+ cache_images
+ download_bundles
+ workaround_default_forward_policy
+ configure_contrack
+ disable_iptables_for_bridges
+ ;;
+ frr)
+ prepare_metadata_files
+ disable_rp_filter
+ network_config
+ prepare_network
+ prepare_docker_config
+ install_required_packages
+ configure_ntp
+ configure_atop
+ install_docker
+ cache_images
+ download_bundles
+ workaround_default_forward_policy
+ configure_contrack
+ disable_iptables_for_bridges
+ install_frr
+ ;;
+ *)
+ echo "Usage: $0 {ucp|master|worker}"
+ exit 1
+ esac
-wait_condition_send "SUCCESS" "Instance successfuly started." "${HW_METADATA}"
+ wait_condition_send "SUCCESS" "Instance successfuly started." "${HW_METADATA}"
+fi