Add explicit network configuration to nodes.json
[icn.git] / deploy / metal3-vm / lib / common.sh
index 7a32c49..a767358 100644 (file)
@@ -1,4 +1,5 @@
-#!/bin/bash
+#!/usr/bin/env bash
+set -eu -o pipefail
 
 eval "$(go env)"
 
@@ -36,7 +37,8 @@ ROOT_DISK_NAME=${ROOT_DISK_NAME-"/dev/sda"}
 CONTAINER_RUNTIME=${CONTAINER_RUNTIME:-"docker"}
 
 export EXTERNAL_SUBNET="192.168.111.0/24"
-
+#Ironic data directory
+IRONIC_DATA_DIR=${IRONIC_DATA_DIR:-"/opt/ironic"}
 export SSH_PUB_KEY=~/.ssh/id_rsa.pub
 
 FILESYSTEM=${FILESYSTEM:="/"}
@@ -50,9 +52,10 @@ export NUM_WORKERS=${NUM_WORKERS:-"1"}
 export VM_EXTRADISKS=${VM_EXTRADISKS:-"false"}
 
 # Ironic vars
-export IRONIC_IMAGE=${IRONIC_IMAGE:-"quay.io/metal3-io/ironic:master"}
-export IRONIC_INSPECTOR_IMAGE=${IRONIC_INSPECTOR_IMAGE:-"quay.io/metal3-io/ironic-inspector"}
-export IRONIC_DATA_DIR="$WORKING_DIR/ironic"
+export IRONIC_IMAGE=${IRONIC_IMAGE:-"integratedcloudnative/ironic:v1.0-icn"}
+export IRONIC_INSPECTOR_IMAGE=${IRONIC_INSPECTOR_IMAGE:-"integratedcloudnative/ironic-inspector:v1.0-icn"}
+export IRONIC_BAREMETAL_IMAGE=${IRONIC_BAREMETAL_IMAGE:-"integratedcloudnative/baremetal-operator:v2.0-icn"}
+export IPA_DOWNLOADER_IMAGE=${IPA_DOWNLOADER_IMAGE:-"integratedcloudnative/ironic-ipa-downloader:v1.0-icn"}
 
 # Verify requisites/permissions
 # Connect to system libvirt
@@ -110,17 +113,17 @@ fi
 function list_nodes {
     # Includes -machine and -machine-namespace
     cat $NODES_FILE | \
-        jq '.nodes[] | {
-           name,
-           driver,
-           address:.driver_info.ipmi_address,
-           port:.driver_info.ipmi_port,
-           user:.driver_info.ipmi_username,
-           password:.driver_info.ipmi_password,
-           mac: .ports[0].address
-           } |
-           .name + " " +
-           .driver + "://" + .address + (if .port then ":" + .port else "" end)  + " " +
-           .user + " " + .password + " " + .mac' \
-       | sed 's/"//g'
+        jq -r '.nodes[] | [
+           .name,
+           .driver + "://" + .driver_info.ipmi_address + (if .driver_info.ipmi_port then ":" + .driver_info.ipmi_port else "" end),
+           .driver_info.ipmi_username,
+           .driver_info.ipmi_password,
+           .ports[0].address
+           ] | @csv' | \
+        sed 's/"//g'
+}
+
+function node_networkdata {
+    name=$1
+    cat $NODES_FILE  | jq -r --arg name "$name" '.nodes[] | select(.name==$name) | .net'
 }