#!/bin/bash # ============LICENSE_START======================================================= # Copyright (C) 2019 The Nordix Foundation. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= set -o errexit set -o nounset set -o pipefail #------------------------------------------------------------------------------- # Find and set where we are #------------------------------------------------------------------------------- STACK_ROOT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" export STACK_ROOT_DIR #------------------------------------------------------------------------------- # Bootstrap stack software configuration #------------------------------------------------------------------------------- echo "Info : Bootstrap stack software configuration" echo "-------------------------------------------------------------------------" cd "${ENGINE_PATH}" ansible-playbook "${ENGINE_ANSIBLE_PARAMS[@]}" \ -i "${ENGINE_PATH}/engine/inventory/localhost.ini" \ "${STACK_ROOT_DIR}/playbooks/bootstrap-swconfig.yaml" echo "-------------------------------------------------------------------------" #------------------------------------------------------------------------------- # Provision nodes using the selected provisioning tool #------------------------------------------------------------------------------- # NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime # shellcheck disable=SC1090 source "${ENGINE_PATH}/engine/provisioner/provision.sh" #------------------------------------------------------------------------------- # Provision local apt repo, docker registry, and ntp server services #------------------------------------------------------------------------------- # NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime # shellcheck disable=SC1090 source "${ENGINE_PATH}/engine/library/engine-services.sh" #------------------------------------------------------------------------------- # Prepare artifacts for offline deployment #------------------------------------------------------------------------------- cd "${ENGINE_PATH}" ansible-playbook "${ENGINE_ANSIBLE_PARAMS[@]}" \ -i "${ENGINE_PATH}/engine/inventory/inventory.ini" \ "${STACK_ROOT_DIR}/playbooks/prepare-artifacts.yaml" echo "-------------------------------------------------------------------------" #------------------------------------------------------------------------------- # Install the stack using the selected installer #------------------------------------------------------------------------------- # NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime # shellcheck disable=SC1090 source "${ENGINE_PATH}/engine/installer/install.sh" # vim: set ts=2 sw=2 expandtab: