X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=env%2Flib%2Fcommon.sh;h=78f4c12d3ee53ddfe821b98cb9e69631bb1aa1fc;hb=30b77af0fb5fc89e7b9e76f4e6e33aaf82832945;hp=86332d39643c77e130084757b245ec53c37b43e6;hpb=11441a8b2aedc39665e64c6aac45f8a31186d777;p=icn.git diff --git a/env/lib/common.sh b/env/lib/common.sh index 86332d3..78f4c12 100755 --- a/env/lib/common.sh +++ b/env/lib/common.sh @@ -15,14 +15,9 @@ 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"} -#Path to clone the metal3 dev env repo -M3PATH="$(go env GOPATH)/src/github.com/metal3-io" -#Path to clone the baremetal operator repo -BMOPATH="${M3PATH}/baremetal-operator" #Baremetal operator repository URL BMOREPO="${BMOREPO:-https://github.com/metal3-io/baremetal-operator.git}" #Baremetal operator repository branch to checkout @@ -68,17 +63,40 @@ function list_nodes { exit 1 fi - cat "$NODES_FILE" | \ - 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' + # The boot MAC address must be specified when a port is included + # in the IPMI driver address (i.e when using the VirtualBMC + # controller). Note that the below is a bit of a hack as it only + # checks the first entry in NODES_FILE for the port. + if cat "$NODES_FILE" | + jq -r '.nodes[0].ipmi_driver_info.address' | grep -c ':[0-9]\+$' >/dev/null; then + BOOT_LINK=$(cat "$NODES_FILE" | + jq -r '.nodes[0].net.links | map(.id=="provisioning_nic") | index(true)') + cat "$NODES_FILE" | + jq -r --argjson BOOT_LINK $BOOT_LINK '.nodes[] | [ + .name, + .ipmi_driver_info.username, + .ipmi_driver_info.password, + .ipmi_driver_info.address, + .net.links[$BOOT_LINK].ethernet_mac_address, + .os.username, + .os.password, + .os.image_name + ] | @csv' | + sed 's/"//g' + else + cat "$NODES_FILE" | + 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' + fi } function node_networkdata {