Add tool to destroy VMs 13/4713/1
authorTodd Malsbary <todd.malsbary@intel.com>
Fri, 4 Mar 2022 18:16:07 +0000 (10:16 -0800)
committerTodd Malsbary <todd.malsbary@intel.com>
Sat, 5 Mar 2022 00:35:00 +0000 (16:35 -0800)
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Change-Id: I4b5f16aaefdbec7d880fbe97208fffc4d5aa46ee

tools/vagrant/destroy.rb [new file with mode: 0755]

diff --git a/tools/vagrant/destroy.rb b/tools/vagrant/destroy.rb
new file mode 100755 (executable)
index 0000000..672d362
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env ruby
+require 'yaml'
+
+site = ENV['ICN_SITE'] || 'vm'
+
+Dir.chdir(File.join(__dir__, '../../'))
+system('vagrant destroy -f jump')
+
+Dir.glob("deploy/site/#{site}/*.yaml") do |file|
+  YAML.load_stream(File.read(file)) do |document|
+    values = document.fetch('spec', {}).fetch('values', {})
+    next if values['machineName'].nil? || values['bootMACAddress'].nil?
+    machine_name = values['machineName']
+    system("virsh -c qemu:///system destroy vm-#{machine_name}")
+    system("virsh -c qemu:///system undefine --nvram --remove-all-storage vm-#{machine_name}")
+  end
+end