diff --git a/tools/g2/lib/virsh.sh b/tools/g2/lib/virsh.sh index dc02a2b9..76d3a5d4 100644 --- a/tools/g2/lib/virsh.sh +++ b/tools/g2/lib/virsh.sh @@ -75,8 +75,10 @@ iso_path() { } net_clean() { - log net_clean is not yet implemented. - exit 1 + if virsh net-list --name | grep ^promenade$ > /dev/null; then + log Destroying promenade network + virsh net-destroy "${XML_DIR}/network.xml" &>> "${LOG_FILE}" + fi } net_declare() { @@ -120,6 +122,7 @@ vm_create() { vol_create_root "${NAME}" log Creating VM "${NAME}" + DISK_OPTS="bus=virtio,cache=directsync,discard=unmap,format=qcow2" virt-install \ --name "${NAME}" \ --virt-type kvm \ @@ -130,9 +133,9 @@ vm_create() { --vcpus "$(config_vm_vcpus)" \ --memory "$(config_vm_memory)" \ --import \ - --disk "vol=${VIRSH_POOL}/promenade-${NAME}.img,format=qcow2,bus=virtio" \ - --disk "pool=${VIRSH_POOL},size=20,format=qcow2,bus=virtio" \ - --disk "pool=${VIRSH_POOL},size=20,format=qcow2,bus=virtio" \ + --disk "vol=${VIRSH_POOL}/promenade-${NAME}.img,${DISK_OPTS}" \ + --disk "pool=${VIRSH_POOL},size=20,${DISK_OPTS}" \ + --disk "pool=${VIRSH_POOL},size=20,${DISK_OPTS}" \ --disk "vol=${VIRSH_POOL}/cloud-init-${NAME}.iso,device=cdrom" &>> "${LOG_FILE}" ssh_wait "${NAME}" diff --git a/tools/g2/stages/join-masters.sh b/tools/g2/stages/join-masters.sh index 7ddd6eaf..e67d8043 100755 --- a/tools/g2/stages/join-masters.sh +++ b/tools/g2/stages/join-masters.sh @@ -16,6 +16,9 @@ for NAME in ${JOIN_TARGETS}; do ssh_cmd "${NAME}" "/root/promenade/join-${NAME}.sh" ssh_cmd "${NAME}" "/root/promenade/validate-${NAME}.sh" + + # NOTE(mark-burnett): Ensure disk cache is flushed after join. + ssh_cmd "${NAME}" sync done validate_cluster n0 diff --git a/tools/g2/stages/reprovision-genesis.sh b/tools/g2/stages/reprovision-genesis.sh index 123fd697..6a865053 100755 --- a/tools/g2/stages/reprovision-genesis.sh +++ b/tools/g2/stages/reprovision-genesis.sh @@ -20,3 +20,6 @@ validate_cluster n1 validate_etcd_membership kubernetes n1 "${EXPECTED_MEMBERS}" validate_etcd_membership calico n1 "${EXPECTED_MEMBERS}" + +# NOTE(mark-burnett): Ensure disk cache is flushed after join. +ssh_cmd "${GENESIS_NAME}" sync diff --git a/tools/stop_gate.sh b/tools/stop_gate.sh index 94ae4edf..e4d299a9 100755 --- a/tools/stop_gate.sh +++ b/tools/stop_gate.sh @@ -12,4 +12,5 @@ export WORKSPACE source "${GATE_UTILS}" vm_clean_all +net_clean registry_down