You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2014/09/22 21:44:48 UTC
[49/50] git commit: updated refs/heads/master to 1290e10
CLOUDSTACK-7143: attempt to be safer when cleaning up
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ba009ed5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ba009ed5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ba009ed5
Branch: refs/heads/master
Commit: ba009ed51a12a8ff3a31b150d488bd632bc10803
Parents: e43e083
Author: Leo Simons <ls...@schubergphilis.com>
Authored: Mon Sep 22 18:10:56 2014 +0200
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Sep 22 21:38:17 2014 +0200
----------------------------------------------------------------------
tools/appliance/build.sh | 9 +++----
tools/appliance/vbox_vm_clean.rb | 51 ++++++++++++++++++-----------------
2 files changed, 31 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba009ed5/tools/appliance/build.sh
----------------------------------------------------------------------
diff --git a/tools/appliance/build.sh b/tools/appliance/build.sh
index 7880a1f..fd24a43 100755
--- a/tools/appliance/build.sh
+++ b/tools/appliance/build.sh
@@ -276,7 +276,7 @@ function stop_vbox() {
function clean_vbox() {
log INFO "deleting all virtualbox vms and disks for ${USER}"
- bundle exec ./vbox_vm_clean.rb --delete
+ bundle exec ./vbox_vm_clean.rb --delete --kill
bundle exec ./vbox_disk_clean.rb
}
@@ -502,10 +502,10 @@ function hyperv_export() {
function main() {
prepare
if [ "${clean_vbox}" == "1" ]; then
- clean_vbox --delete
- add_on_exit clean_vbox --delete
+ clean_vbox
+ add_on_exit clean_vbox
else
- stop_vbox # some extra encouragement for virtualbox to stop things
+ stop_vbox
fi
create_definition
veewee_destroy # in case of left-over cruft from failed build
@@ -513,7 +513,6 @@ function main() {
veewee_build
save_mac_address
veewee_halt
- stop_vbox # some extra encouragement for virtualbox to stop things
retry 10 check_appliance_shutdown
retry 10 check_appliance_disk_ready
retry 10 remove_shares
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba009ed5/tools/appliance/vbox_vm_clean.rb
----------------------------------------------------------------------
diff --git a/tools/appliance/vbox_vm_clean.rb b/tools/appliance/vbox_vm_clean.rb
index a0e34e6..0c0c27a 100755
--- a/tools/appliance/vbox_vm_clean.rb
+++ b/tools/appliance/vbox_vm_clean.rb
@@ -8,6 +8,7 @@ require 'sys/proctable'
include Sys
do_delete = (ARGV.include? 'delete' or ARGV.include? '--delete' or ARGV.include? '-d')
+do_kill = (ARGV.include? 'kill' or ARGV.include? '--kill' or ARGV.include? '-k')
lines = `VBoxManage list vms`
vms = lines.split(/\n/)
@@ -26,29 +27,31 @@ vms.each do |vmline|
`#{cmd}`
end
- sleep(1)
- # ps x | grep VBoxHeadless | grep systemvm64template-4.4.0 | egrep -o '^\s*[0-9]+' | xargs kill
- ProcTable.ps { |p|
- next unless p.cmdline.include? "VBoxHeadless"
- next unless p.cmdline.include? vm_name
- # not all rubies / proctables expose ruid
- if defined? p.ruid
- # VBoxManage should only list _our_ vms, but just to be safe...
- next unless p.ruid == Process.uid
- end
-
- puts "kill -SIGKILL #{p.pid}"
- begin
- Process.kill("KILL", p.pid)
- rescue => exception
- puts exception.backtrace
- end
- sleep(5)
- puts "kill -SIGTERM #{p.pid}"
- begin
- Process.kill("TERM", p.pid)
- rescue => exception
- puts exception.backtrace
+ if do_kill
+ sleep(1)
+ # ps x | grep VBoxHeadless | grep systemvm64template-4.4.0 | egrep -o '^\s*[0-9]+' | xargs kill
+ ProcTable.ps do |p|
+ next unless p.cmdline.include? "VBoxHeadless"
+ next unless p.cmdline.include? vm_name
+ # not all rubies / proctables expose ruid
+ if defined? p.ruid
+ # VBoxManage should only list _our_ vms, but just to be safe...
+ next unless p.ruid == Process.uid
+ end
+
+ puts "kill -SIGKILL #{p.pid}"
+ begin
+ Process.kill("KILL", p.pid)
+ rescue => exception
+ puts exception.backtrace
+ end
+ sleep(5)
+ puts "kill -SIGTERM #{p.pid}"
+ begin
+ Process.kill("TERM", p.pid)
+ rescue => exception
+ puts exception.backtrace
+ end
end
- }
+ end
end