This change introduces setup-stack.sh script which will do setup
for the stack itself such as setting the default scenario if not
specified by the user and more importantly installing the dependencies.
Further changes will be sent, moving dependencies to stacks and
installations of those into stack setup script.
Depends-On: I6b9d27edd2016594b197a368b8ed393e98beef7f
Change-Id: I7892fa217a7db5c0c7b84a1b57aa6f311ee14cc6
(cherry picked from commit
d7c1e7673b19be3c8ee33283762aba19a606b6cd)
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
-- name: Set distribution
+- name: Set deploy scenario
set_fact:
- distro: "{{ ansible_distribution | lower }}{{ ansible_distribution_version | replace('.','') }}"
+ deploy_scenario: "{{ lookup('env', 'DEPLOY_SCENARIO') | default('k8-multus-plugins', true) }}"
+
+- name: Log deploy scenario to console
+ debug:
+ msg: 'Set deploy scenario to {{ deploy_scenario }}'
+
+- name: Fail if the deploy scenario is not valid for stack '{{ stack_type }}'
+ fail:
+ msg: "'{{ deploy_scenario }}' is not valid for stack '{{ stack_type }}'"
+ when: deploy_scenario not in scenarios
- name: Log distribution to console
debug:
msg: "'{{ installer_type }}' is not a valid installer for stack '{{ stack_type }}'"
when: installer_type not in installers
-- name: Log deploy scenario to console
- debug:
- msg: 'Set deploy scenario to {{ deploy_scenario }}'
-
-- name: Fail if the deploy scenario is not valid for stack '{{ stack_type }}'
- fail:
- msg: "'{{ deploy_scenario }}' is not valid for stack '{{ stack_type }}'"
- when: deploy_scenario not in scenarios
# NOTE (fdegir): as we determine things dynamically, we need to record variables in order
# for them to become available subsequent tasks, roles, playbooks
state: present
create: true
block: |
- distro: "{{ distro }}"
+ deploy_scenario: "{{ deploy_scenario }}"
provisioner_type: "{{ provisioner_type }}"
installer_type: "{{ installer_type }}"
marker: "# {mark} ANSIBLE MANAGED BLOCK engine-kubernetes"
--- /dev/null
+#!/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
+
+# NOTE (fdegir): different stacks and their branches have different scenarios
+# supported by default so we set DEPLOY_SCENARIO within the stack unless it is
+# set by user rather than setting the default one in engine
+export DEPLOY_SCENARIO="${DEPLOY_SCENARIO:=k8-calico-nofeature}"
+echo "Info : Deploy scenario is $DEPLOY_SCENARIO"
+
+# vim: set ts=2 sw=2 expandtab:
scenarios:
- k8-calico-nofeature
+# NOTE (fdegir): set default deploy scenario for the stack
+deploy_scenario: "{{ lookup('env', 'DEPLOY_SCENARIO') | default('k8-calico-nofeature', true) }}"
+
# -------------------------------------------------------------------------------
# Nordix: Docker version
# -------------------------------------------------------------------------------