From 073e2f1a9836d386c39503e2072dce3437c98346 Mon Sep 17 00:00:00 2001 From: Roger Luethi Date: Tue, 26 Aug 2014 17:27:55 +0200 Subject: [PATCH] labs: add snapshot_cycle command This changeset adds the new command, snapshot_cycle. It can be used to replace four lines that often go together. The command handles a full cycle needed for a snapshot: queueing shutdown.sh, booting the VM, waiting for it to shutdown, and taking a snapshot. Change-Id: I13276088bd44326f475bf7477ad2ed27db2dbbe9 --- labs/config/scripts.compute | 10 ++-------- labs/config/scripts.controller | 10 ++-------- labs/config/scripts.network | 10 ++-------- labs/lib/osbash/functions.host | 9 +++++++++ 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/labs/config/scripts.compute b/labs/config/scripts.compute index addd977f..b1d8ec2a 100644 --- a/labs/config/scripts.compute +++ b/labs/config/scripts.compute @@ -4,13 +4,7 @@ scripts etc_hosts.sh osbash enable_vagrant_ssh_keys.sh #osbash wait_debug.sh # Using scripts/osbash/shutdown.sh because we want Vagrant to ignore this -osbash shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "network_configured" +cmd snapshot_cycle "network_configured" scripts setup_nova_compute.sh scripts setup_neutron_compute.sh -scripts shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "pre-installed" +cmd snapshot_cycle "pre-installed" diff --git a/labs/config/scripts.controller b/labs/config/scripts.controller index b25b0fcb..2a93a357 100644 --- a/labs/config/scripts.controller +++ b/labs/config/scripts.controller @@ -4,10 +4,7 @@ scripts etc_hosts.sh osbash enable_vagrant_ssh_keys.sh #osbash wait_debug.sh # Using scripts/osbash/shutdown.sh because we want Vagrant to ignore this -osbash shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "network_configured" +cmd snapshot_cycle "network_configured" scripts apt_install_mysql.sh scripts install_rabbitmq.sh scripts setup_keystone.sh @@ -20,8 +17,5 @@ scripts setup_horizon.sh scripts config_external_network.sh scripts config_demo_user.sh scripts config_tenant_network.sh -scripts shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "pre-installed" +cmd snapshot_cycle "pre-installed" cmd boot diff --git a/labs/config/scripts.network b/labs/config/scripts.network index 75eb4559..d8b928a1 100644 --- a/labs/config/scripts.network +++ b/labs/config/scripts.network @@ -4,12 +4,6 @@ scripts etc_hosts.sh osbash enable_vagrant_ssh_keys.sh #osbash wait_debug.sh # Using scripts/osbash/shutdown.sh because we want Vagrant to ignore this -osbash shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "network_configured" +cmd snapshot_cycle "network_configured" scripts setup_neutron_network.sh -scripts shutdown.sh -cmd boot -cmd wait_for_shutdown -cmd snapshot "pre-installed" +cmd snapshot_cycle "pre-installed" diff --git a/labs/lib/osbash/functions.host b/labs/lib/osbash/functions.host index c518f0a2..218f49f5 100644 --- a/labs/lib/osbash/functions.host +++ b/labs/lib/osbash/functions.host @@ -276,6 +276,15 @@ function command_from_config { echo >&2 vm_wait_for_shutdown "$NODE_NAME" vm_wait_for_shutdown "$NODE_NAME" ;; + snapshot_cycle) + # comprises shutdown, boot, wait_for_shutdown, snapshot + local shot_name=${cmd_string[1]} + echo >&2 snapshot_cycle "$NODE_NAME" "$shot_name" + _autostart_queue "osbash/shutdown.sh" + _vbox_boot_with_autostart "$NODE_NAME" "$VM_SSH_PORT" + vm_wait_for_shutdown "$NODE_NAME" + vm_snapshot "$NODE_NAME" "$shot_name" + ;; init_node) echo >&2 vm_init_node "$NODE_NAME" vm_init_node "$NODE_NAME"