From 787d7f1f2e94ed0ccfd5e70bc708cca46be9e5c9 Mon Sep 17 00:00:00 2001 From: Abraham Arce Date: Tue, 30 Oct 2018 09:14:40 -0600 Subject: [PATCH] [Doc] Controller Identity Nodes Common Code The creation and removal of the Controller identity nodes are common between all-in-one and standard controller configuration setups: - create_controller - destroy_controller Make both scripts shared same code located at a common functions file. Change-Id: I2ff7d43bd01a2a40264c442d8031a83e1dbbfadb Signed-off-by: Abraham Arce --- deployment/libvirt/destroy_allinone.sh | 21 +---- .../libvirt/destroy_standard_controller.sh | 17 +--- deployment/libvirt/functions.sh | 79 +++++++++++++++++++ deployment/libvirt/setup_allinone.sh | 33 +------- .../libvirt/setup_standard_controller.sh | 28 +------ 5 files changed, 89 insertions(+), 89 deletions(-) diff --git a/deployment/libvirt/destroy_allinone.sh b/deployment/libvirt/destroy_allinone.sh index 911fad2d..b3f8aa66 100755 --- a/deployment/libvirt/destroy_allinone.sh +++ b/deployment/libvirt/destroy_allinone.sh @@ -4,23 +4,8 @@ SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )" source ${SCRIPT_DIR}/functions.sh -BRIDGE_INTERFACE=${BRIDGE_INTERFACE:-stxbr} -CONTROLLER=${CONTROLLER:-controller-allinone} +CONFIGURATION="allinone" +CONTROLLER=${CONTROLLER:-controller} DOMAIN_DIRECTORY=vms -for i in {0..1}; do - CONTROLLER_NODE=${CONTROLLER}-${i} - DOMAIN_FILE=$DOMAIN_DIRECTORY/$CONTROLLER_NODE.xml - if virsh list --all --name | grep ${CONTROLLER_NODE}; then - STATUS=$(virsh list --all | grep ${CONTROLLER_NODE} | awk '{ print $3}') - if ([ "$STATUS" == "running" ]) - then - sudo virsh destroy ${CONTROLLER_NODE} - fi - sudo virsh undefine ${CONTROLLER_NODE} - delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img - delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img - delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-2.img - [ -e ${DOMAIN_FILE} ] && delete_xml ${DOMAIN_FILE} - fi -done +destroy_controller ${CONFIGURATION} ${CONTROLLER} diff --git a/deployment/libvirt/destroy_standard_controller.sh b/deployment/libvirt/destroy_standard_controller.sh index 81ac6b54..436c098f 100755 --- a/deployment/libvirt/destroy_standard_controller.sh +++ b/deployment/libvirt/destroy_standard_controller.sh @@ -4,26 +4,13 @@ SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}" )" )" source ${SCRIPT_DIR}/functions.sh +CONFIGURATION="standardcontroller" BRIDGE_INTERFACE=${BRIDGE_INTERFACE:-stxbr} CONTROLLER=${CONTROLLER:-controller} COMPUTE=${COMPUTE:-compute} DOMAIN_DIRECTORY=vms -for i in {0..1}; do - CONTROLLER_NODE=${CONTROLLER}-${i} - DOMAIN_FILE=$DOMAIN_DIRECTORY/$CONTROLLER_NODE.xml - if virsh list --all --name | grep ${CONTROLLER_NODE}; then - STATUS=$(virsh list --all | grep ${CONTROLLER_NODE} | awk '{ print $3}') - if ([ "$STATUS" == "running" ]) - then - sudo virsh destroy ${CONTROLLER_NODE} - fi - sudo virsh undefine ${CONTROLLER_NODE} - delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img - delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img - [ -e ${DOMAIN_FILE} ] && delete_xml ${DOMAIN_FILE} - fi -done +destroy_controller ${CONFIGURATION} ${CONTROLLER} for i in {0..1}; do COMPUTE_NODE=${COMPUTE}-${i} diff --git a/deployment/libvirt/functions.sh b/deployment/libvirt/functions.sh index 5f8a7065..00dc1e13 100644 --- a/deployment/libvirt/functions.sh +++ b/deployment/libvirt/functions.sh @@ -53,3 +53,82 @@ delete_xml() { sudo rm "$fpath" } +# Create a Controller node +create_controller() { + local CONFIGURATION=$1 + local CONTROLLER=$2 + local BRIDGE_INTERFACE=$3 + local ISOIMAGE=$4 + local DOMAIN_FILE + if ([ "$CONFIGURATION" == "allinone" ]); then + CONTROLLER_NODE_NUMBER=0 + else + CONTROLLER_NODE_NUMBER=1 + fi + for ((i=0; i<=$CONTROLLER_NODE_NUMBER; i++)); do + CONTROLLER_NODE=${CONTROLLER}-${i} + DOMAIN_FILE=${DOMAIN_DIRECTORY}/${CONTROLLER_NODE}.xml + if ([ "$CONFIGURATION" == "allinone" ]); then + DISK_0_SIZE=600 + cp controller_allinone.xml ${DOMAIN_FILE} + else + DISK_0_SIZE=200 + cp controller.xml ${DOMAIN_FILE} + fi + sed -i -e " + s,NAME,${CONTROLLER_NODE}, + s,DISK0,/var/lib/libvirt/images/${CONTROLLER_NODE}-0.img, + s,DISK1,/var/lib/libvirt/images/${CONTROLLER_NODE}-1.img, + s,%BR1%,${BRIDGE_INTERFACE}1, + s,%BR2%,${BRIDGE_INTERFACE}2, + s,%BR3%,${BRIDGE_INTERFACE}3, + s,%BR4%,${BRIDGE_INTERFACE}4, + " ${DOMAIN_FILE} + sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img ${DISK_0_SIZE}G + sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img 200G + if ([ "$CONFIGURATION" == "allinone" ]); then + sed -i -e " + s,DISK2,/var/lib/libvirt/images/${CONTROLLER_NODE}-2.img, + " ${DOMAIN_FILE} + sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-2.img 200G + fi + if [ $i -eq 0 ]; then + sed -i -e "s,ISO,${ISOIMAGE}," ${DOMAIN_FILE} + else + sed -i -e "s,ISO,," ${DOMAIN_FILE} + fi + sudo virsh define ${DOMAIN_FILE} + if [ $i -eq 0 ]; then + sudo virsh start ${CONTROLLER_NODE} + fi + done +} + +# Delete a Controller node +destroy_controller() { + local CONFIGURATION=$1 + local CONTROLLER=$2 + if ([ "$CONFIGURATION" == "allinone" ]); then + CONTROLLER_NODE_NUMBER=0 + else + CONTROLLER_NODE_NUMBER=1 + fi + for ((i=0; i<=$CONTROLLER_NODE_NUMBER; i++)); do + CONTROLLER_NODE=${CONTROLLER}-${i} + DOMAIN_FILE=$DOMAIN_DIRECTORY/$CONTROLLER_NODE.xml + if virsh list --all --name | grep ${CONTROLLER_NODE}; then + STATUS=$(virsh list --all | grep ${CONTROLLER_NODE} | awk '{ print $3}') + if ([ "$STATUS" == "running" ]) + then + sudo virsh destroy ${CONTROLLER_NODE} + fi + sudo virsh undefine ${CONTROLLER_NODE} + delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img + delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img + if ([ "$CONFIGURATION" == "allinone" ]); then + delete_disk /var/lib/libvirt/images/${CONTROLLER_NODE}-2.img + fi + [ -e ${DOMAIN_FILE} ] && delete_xml ${DOMAIN_FILE} + fi + done +} diff --git a/deployment/libvirt/setup_allinone.sh b/deployment/libvirt/setup_allinone.sh index 72c9ecac..11963ddc 100755 --- a/deployment/libvirt/setup_allinone.sh +++ b/deployment/libvirt/setup_allinone.sh @@ -23,42 +23,15 @@ fi iso_image_check ${ISOIMAGE} +CONFIGURATION="allinone" BRIDGE_INTERFACE=${BRIDGE_INTERFACE:-stxbr} -CONTROLLER=${CONTROLLER:-controller-allinone} +CONTROLLER=${CONTROLLER:-controller} DOMAIN_DIRECTORY=vms -DOMAIN_FILE=$DOMAIN_DIRECTORY/$CONTROLLER.xml bash ${SCRIPT_DIR}/destroy_allinone.sh [ ! -d ${DOMAIN_DIRECTORY} ] && mkdir ${DOMAIN_DIRECTORY} -for i in {0..1}; do - CONTROLLER_NODE=${CONTROLLER}-${i} - sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img 600G - sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img 200G - sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-2.img 200G - ISOIMAGE=${ISOIMAGE} - DOMAIN_FILE=${DOMAIN_DIRECTORY}/${CONTROLLER_NODE}.xml - cp ${SCRIPT_DIR}/controller_allinone.xml ${DOMAIN_FILE} - sed -i -e " - s,NAME,${CONTROLLER_NODE}, - s,DISK0,/var/lib/libvirt/images/${CONTROLLER_NODE}-0.img, - s,DISK1,/var/lib/libvirt/images/${CONTROLLER_NODE}-1.img, - s,DISK2,/var/lib/libvirt/images/${CONTROLLER_NODE}-2.img, - s,%BR1%,${BRIDGE_INTERFACE}1, - s,%BR2%,${BRIDGE_INTERFACE}2, - s,%BR3%,${BRIDGE_INTERFACE}3, - s,%BR4%,${BRIDGE_INTERFACE}4, - " ${DOMAIN_FILE} - if [ $i -eq 0 ]; then - sed -i -e "s,ISO,${ISOIMAGE}," ${DOMAIN_FILE} - else - sed -i -e "s,ISO,," ${DOMAIN_FILE} - fi - sudo virsh define ${DOMAIN_DIRECTORY}/${CONTROLLER_NODE}.xml - if [ $i -eq 0 ]; then - sudo virsh start ${CONTROLLER_NODE} - fi -done +create_controller $CONFIGURATION $CONTROLLER $BRIDGE_INTERFACE $ISOIMAGE sudo virt-manager diff --git a/deployment/libvirt/setup_standard_controller.sh b/deployment/libvirt/setup_standard_controller.sh index 77bf8c92..80636049 100755 --- a/deployment/libvirt/setup_standard_controller.sh +++ b/deployment/libvirt/setup_standard_controller.sh @@ -23,6 +23,7 @@ fi iso_image_check ${ISOIMAGE} +CONFIGURATION="standardcontroller" BRIDGE_INTERFACE=${BRIDGE_INTERFACE:-stxbr} CONTROLLER=${CONTROLLER:-controller} COMPUTE=${COMPUTE:-compute} @@ -32,32 +33,7 @@ bash ${SCRIPT_DIR}/destroy_standard_controller.sh [ ! -d ${DOMAIN_DIRECTORY} ] && mkdir ${DOMAIN_DIRECTORY} -for i in {0..1}; do - CONTROLLER_NODE=${CONTROLLER}-${i} - sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-0.img 200G - sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${CONTROLLER_NODE}-1.img 200G - ISOIMAGE=${ISOIMAGE} - DOMAIN_FILE=${DOMAIN_DIRECTORY}/${CONTROLLER_NODE}.xml - cp ${SCRIPT_DIR}/controller.xml ${DOMAIN_FILE} - sed -i -e " - s,NAME,${CONTROLLER_NODE}, - s,DISK0,/var/lib/libvirt/images/${CONTROLLER_NODE}-0.img, - s,DISK1,/var/lib/libvirt/images/${CONTROLLER_NODE}-1.img, - s,%BR1%,${BRIDGE_INTERFACE}1, - s,%BR2%,${BRIDGE_INTERFACE}2, - s,%BR3%,${BRIDGE_INTERFACE}3, - s,%BR4%,${BRIDGE_INTERFACE}4, - " ${DOMAIN_FILE} - if [ $i -eq 0 ]; then - sed -i -e "s,ISO,${ISOIMAGE}," ${DOMAIN_FILE} - else - sed -i -e "s,ISO,," ${DOMAIN_FILE} - fi - sudo virsh define ${DOMAIN_DIRECTORY}/${CONTROLLER_NODE}.xml - if [ $i -eq 0 ]; then - sudo virsh start ${CONTROLLER_NODE} - fi -done +create_controller $CONFIGURATION $CONTROLLER $BRIDGE_INTERFACE $ISOIMAGE for i in {0..1}; do COMPUTE_NODE=${COMPUTE}-${i}