X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=env%2Flib%2Fcommon.sh;h=9ac1431a3036409bff762a4f8ec7132387d44cb0;hb=fb8a0fe0cb2c32037ec16ad2b377aa63a42b114a;hp=09b548e5c9f05807fcdf1e69620d7e4463d10413;hpb=c3b53a32784bfcb07e6d5dbe84b1b365ff691a4a;p=icn.git diff --git a/env/lib/common.sh b/env/lib/common.sh index 09b548e..9ac1431 100755 --- a/env/lib/common.sh +++ b/env/lib/common.sh @@ -1,35 +1,13 @@ -#!/bin/bash +#!/usr/bin/env bash +set -eu -o pipefail -ICNDIR="$(dirname "$(dirname "$PWD")")" -echo $ICNDIR -source $ICNDIR/user_config.sh - -#supported OS version -UBUNTU_BIONIC=${UBUNTU_BIONIC:-Ubuntu 18.04.2 LTS} - -#offline mode variable DOWNLOAD_PATH=${DOWNLOAD_PATH:-/opt/icn} -LOCAL_APT_REPO=${LOCAL_APT_REPO:-$DOWNLOAD_PATH/apt} -PIP_CACHE_DIR=${PIP_CACHE_DIR:-$DOWNLOAD_PATH/pip-cache-dir} -BUILD_DIR=${BUILD_DIR:-$DOWNLOAD_PATH/build-dir} -CONTAINER_IMAGES_DIR=${CONTAINER_IMAGES_DIR:-$OFFLINE_DOWNLOAD_PATH/docker-dir} - -#set variables -#Todo include over all variables here -KUBE_VERSION=${KUBE_VERSION:-"v1.15.0"} -POD_NETWORK_CIDR=${POD_NETWORK_CIDR:-"10.244.0.0/16"} -PODMAN_CNI_CONFLIST=${PODMAN_CNI_CONFLIST:-"https://raw.githubusercontent.com/containers/libpod/v1.4.4/cni/87-podman-bridge.conflist"} - -#Bootstrap K8s cluster -BS_DHCP_INTERFACE=${BS_DHCP_INTERFACE:-} -BS_DHCP_INTERFACE_IP=${BS_DHCP_INTERFACE_IP:-} -BS_DHCP_DIR=${BS_DHCP_DIR:-$DOWNLOAD_PATH/dhcp} #Ironic variables -IRONIC_IMAGE=${IRONIC_IMAGE:-"quay.io/metal3-io/ironic:master"} -IRONIC_INSPECTOR_IMAGE=${IRONIC_INSPECTOR_IMAGE:-"quay.io/metal3-io/ironic-inspector"} -IRONIC_BAREMETAL_IMAGE=${IRONIC_BAREMETAL_IMAGE:-"quay.io/metal3-io/baremetal-operator:master"} -IRONIC_BAREMETAL_SOCAT_IMAGE=${IRONIC_BAREMETAL_SOCAT_IMAGE:-"alpine/socat:latest"} +IRONIC_IMAGE=${IRONIC_IMAGE:-"integratedcloudnative/ironic:v1.0-icn"} +IRONIC_INSPECTOR_IMAGE=${IRONIC_INSPECTOR_IMAGE:-"integratedcloudnative/ironic-inspector:v1.0-icn"} +IRONIC_BAREMETAL_IMAGE=${IRONIC_BAREMETAL_IMAGE:-"integratedcloudnative/baremetal-operator:v2.0-icn"} +IPA_DOWNLOADER_IMAGE=${IPA_DOWNLOADER_IMAGE:-"integratedcloudnative/ironic-ipa-downloader:v1.0-icn"} IRONIC_DATA_DIR=${IRONIC_DATA_DIR:-"/opt/ironic"} #IRONIC_PROVISIONING_INTERFACE is required to be provisioning, don't change it @@ -37,13 +15,15 @@ IRONIC_INTERFACE=${IRONIC_INTERFACE:-} IRONIC_PROVISIONING_INTERFACE=${IRONIC_PROVISIONING_INTERFACE:-"provisioning"} IRONIC_IPMI_INTERFACE=${IRONIC_IPMI_INTERFACE:-} IRONIC_PROVISIONING_INTERFACE_IP=${IRONIC_PROVISIONING_INTERFACE_IP:-"172.22.0.1"} -IRONIC_IPMI_INTERFACE_IP=${IRONIC_IPMI_INTERFACE_IP:-} BM_IMAGE_URL=${BM_IMAGE_URL:-"https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img"} BM_IMAGE=${BM_IMAGE:-"bionic-server-cloudimg-amd64.img"} -#Todo change into nodes list in json pattern -COMPUTE_NODE_FQDN=${COMPUTE_NODE_FQDN:-".akraino.org"} -COMPUTE_NODE_PASSWORD=${COMPUTE_NODE_PASSWORD:-"mypasswd"} +#Baremetal operator repository URL +BMOREPO="${BMOREPO:-https://github.com/metal3-io/baremetal-operator.git}" +#Baremetal operator repository branch to checkout +BMOBRANCH="${BMOBRANCH:-10eb5aa3e614d0fdc6315026ebab061cbae6b929}" +#Discard existing baremetal operator repo directory +FORCE_REPO_UPDATE="${FORCE_REPO_UPDATE:-true}" #refered from onap function call_api { @@ -79,21 +59,31 @@ function call_api { function list_nodes { NODES_FILE="${IRONIC_DATA_DIR}/nodes.json" - if [ ! -f $IRONIC_DATA_DIR/nodes.json ]; then + if [ ! -f "$NODES_FILE" ]; then exit 1 fi cat "$NODES_FILE" | \ - jq '.nodes[] | { - name, - username:.ipmi_driver_info.username, - password:.ipmi_driver_info.password, - address:.ipmi_driver_info.address - } | - .name + " " + - .username + " " + - .password + " " + - .address' \ - | sed 's/"//g' + jq -r '.nodes[] | [ + .name, + .ipmi_driver_info.username, + .ipmi_driver_info.password, + .ipmi_driver_info.address, + .os.username, + .os.password, + .os.image_name + ] | @csv' | \ + sed 's/"//g' } +function node_networkdata { + name=$1 + + NODES_FILE="${IRONIC_DATA_DIR}/nodes.json" + + if [ ! -f "$NODES_FILE" ]; then + exit 1 + fi + + cat $NODES_FILE | jq -r --arg name "$name" '.nodes[] | select(.name==$name) | .net' +}