From: Fatih Degirmenci Date: Thu, 9 Jul 2020 07:33:47 +0000 (+0000) Subject: Introduce stack setup script X-Git-Url: https://gerrit.nordix.org/gitweb?p=infra%2Fstack%2Fkubernetes.git;a=commitdiff_plain;h=36ddcc0adba0817757815ed8ca663b3b7f776c1b Introduce stack setup script 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) --- diff --git a/playbooks/roles/bootstrap-swconfig/tasks/main.yaml b/playbooks/roles/bootstrap-swconfig/tasks/main.yaml index 46db541..5f64622 100644 --- a/playbooks/roles/bootstrap-swconfig/tasks/main.yaml +++ b/playbooks/roles/bootstrap-swconfig/tasks/main.yaml @@ -17,9 +17,18 @@ # 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: @@ -57,14 +66,6 @@ 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 @@ -74,7 +75,7 @@ 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" diff --git a/setup-stack.sh b/setup-stack.sh new file mode 100755 index 0000000..35d5789 --- /dev/null +++ b/setup-stack.sh @@ -0,0 +1,36 @@ +#!/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: diff --git a/vars/kubernetes.yaml b/vars/kubernetes.yaml index c3fba79..fa13a64 100644 --- a/vars/kubernetes.yaml +++ b/vars/kubernetes.yaml @@ -43,6 +43,9 @@ installers: 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 # -------------------------------------------------------------------------------