blob: 4ba9ff579773247a52b2face4d129f2b94f1dbf0 [file] [log] [blame]
afenner4a86b722020-07-27 08:53:27 +01001#!/bin/bash
2# ============LICENSE_START=======================================================
3# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
4# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19
20set -o errexit
21set -o nounset
22set -o pipefail
23
24#-------------------------------------------------------------------------------
25# Find and set where we are
26#-------------------------------------------------------------------------------
27STACK_ROOT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
28export STACK_ROOT_DIR
29
30#-------------------------------------------------------------------------------
31# Bootstrap inventory
32#-------------------------------------------------------------------------------
33echo "Info : Bootstrap inventory"
34export INVENTORY_INI="${INVENTORY_INI:-$STACK_ROOT_DIR"/inventory.ini"}"
35cp "$INVENTORY_INI" "${ENGINE_PATH}/engine/inventory/inventory.ini"
36
37#-------------------------------------------------------------------------------
38# Bootstrap stack software configuration
39#-------------------------------------------------------------------------------
40echo "Info : Bootstrap stack software configuration"
41echo "-------------------------------------------------------------------------"
42cd "${ENGINE_PATH}"
43ansible-playbook "${ENGINE_ANSIBLE_PARAMS[@]}" \
44 -i "${ENGINE_PATH}/engine/inventory/inventory.ini" \
45 "${STACK_ROOT_DIR}/playbooks/bootstrap-swconfig.yaml"
46echo "-------------------------------------------------------------------------"
47
48#-------------------------------------------------------------------------------
49# Provision nodes using the selected provisioning tool
50#-------------------------------------------------------------------------------
51# NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime
52# shellcheck disable=SC1090
53#source "${ENGINE_PATH}/engine/provisioner/provision.sh"
54
55#-------------------------------------------------------------------------------
56# Provision local apt repo, docker registry, and ntp server services
57#-------------------------------------------------------------------------------
58# NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime
59# shellcheck disable=SC1090
60#source "${ENGINE_PATH}/engine/library/engine-services.sh"
61
62#-------------------------------------------------------------------------------
63# Prepare artifacts for offline deployment
64#-------------------------------------------------------------------------------
65cd "${ENGINE_PATH}"
66ansible-playbook "${ENGINE_ANSIBLE_PARAMS[@]}" \
67 -i "${ENGINE_PATH}/engine/inventory/inventory.ini" \
68 "${STACK_ROOT_DIR}/playbooks/prepare-artifacts.yaml"
69echo "-------------------------------------------------------------------------"
70
71#-------------------------------------------------------------------------------
72# Install the stack using the selected installer
73#-------------------------------------------------------------------------------
74# NOTE: shellcheck SC1090 is disabled since the script becomes available during runtime
75# shellcheck disable=SC1090
76source "${ENGINE_PATH}/engine/installer/install.sh"
77
78# vim: set ts=2 sw=2 expandtab: