From 867ae0f2911d39b469db1705607dda4f61f4c85c Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Tue, 28 Jun 2011 09:42:12 +0200 Subject: [PATCH 01/11] feature #595: added migrate_local action to kvm --- src/vmm_mad/remotes/kvm/migrate_local | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/vmm_mad/remotes/kvm/migrate_local diff --git a/src/vmm_mad/remotes/kvm/migrate_local b/src/vmm_mad/remotes/kvm/migrate_local new file mode 100644 index 0000000000..29c08ee311 --- /dev/null +++ b/src/vmm_mad/remotes/kvm/migrate_local @@ -0,0 +1,27 @@ +#!/bin/bash + +# -------------------------------------------------------------------------- # +# Copyright 2002-2011, OpenNebula Project Leads (OpenNebula.org) # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); you may # +# not use this file except in compliance with the License. You may obtain # +# a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +#--------------------------------------------------------------------------- # + +source $(dirname $0)/kvmrc + +src_host=$1 +deploy_id=$2 +dest_host=$3 + +virsh --connect $QEMU_PROTOCOL://$src_host/system \ + migrate --live $deploy_id $QEMU_PROTOCOL://$dest_host/system + From d1f4966fa30b1b1af9ce9d9d5ad3a58bbe5ca790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Tue, 28 Jun 2011 13:19:35 +0200 Subject: [PATCH 02/11] Bug in oneuser chgrp --- src/cli/oneuser | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/oneuser b/src/cli/oneuser index bfc2a45fd8..f91d6ef9d0 100755 --- a/src/cli/oneuser +++ b/src/cli/oneuser @@ -120,7 +120,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :chgrp, chgrp_desc, [:range, :userid_list], :groupid do helper.perform_actions(args[0],options,"Group changed") do |user| - user.chown(-1, args[1].to_i) + user.chgrp(args[1].to_i) end end From 9e3bfbea6c0ba5b6461a9d984526ecd24a10ddc6 Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Tue, 28 Jun 2011 12:01:58 +0200 Subject: [PATCH 03/11] bug #630: host monitoring gives an error when the remotes could not be updated --- src/im_mad/im_exec/one_im_exec.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/im_mad/im_exec/one_im_exec.rb b/src/im_mad/im_exec/one_im_exec.rb index 686a346a16..077934b2b1 100755 --- a/src/im_mad/im_exec/one_im_exec.rb +++ b/src/im_mad/im_exec/one_im_exec.rb @@ -62,7 +62,13 @@ class InformationManagerDriver < OpenNebulaDriver # Use rsync to sync: # sync_cmd = "rsync -Laz #{REMOTES_LOCATION} # #{host}:#{@remote_dir}" - LocalCommand.run(sync_cmd, log_method(number)) + cmd=LocalCommand.run(sync_cmd, log_method(number)) + + if cmd.code!=0 + send_message('MONITOR', RESULT[:failure], number, + 'Could not update remotes') + return + end end end do_action("#{@hypervisor}", number, host, :MONITOR, From 59291f9518b336b08644a21bed8ea2ffccaad692 Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Thu, 30 Jun 2011 16:58:13 +0200 Subject: [PATCH 04/11] bug #703: wrong driver initialization --- src/vmm_mad/ec2/one_vmm_ec2.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vmm_mad/ec2/one_vmm_ec2.rb b/src/vmm_mad/ec2/one_vmm_ec2.rb index 64438ad229..b8bfedaf5d 100755 --- a/src/vmm_mad/ec2/one_vmm_ec2.rb +++ b/src/vmm_mad/ec2/one_vmm_ec2.rb @@ -64,7 +64,7 @@ class EC2Driver < VirtualMachineDriver concurrency = EC2_JVM_CONCURRENCY.to_i end - super( + super('', :concurrency => concurrency, :threaded => true ) From bacecfba7580a2b36980caeb1179efac504b7b6e Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Thu, 30 Jun 2011 16:58:24 +0200 Subject: [PATCH 05/11] bug in ec2 authorize action --- src/vmm_mad/ec2/one_vmm_ec2.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vmm_mad/ec2/one_vmm_ec2.rb b/src/vmm_mad/ec2/one_vmm_ec2.rb index b8bfedaf5d..10441c1115 100755 --- a/src/vmm_mad/ec2/one_vmm_ec2.rb +++ b/src/vmm_mad/ec2/one_vmm_ec2.rb @@ -52,7 +52,7 @@ class EC2Driver < VirtualMachineDriver :terminate => "#{EC2_LOCATION}/bin/ec2-terminate-instances", :describe => "#{EC2_LOCATION}/bin/ec2-describe-instances", :associate => "#{EC2_LOCATION}/bin/ec2-associate-address", - :authorize => "#{EC2_LOCATION}bin/ec2-authorize" + :authorize => "#{EC2_LOCATION}/bin/ec2-authorize" } # EC2 constructor, loads defaults for the EC2Driver From 5e6d21830a4d2ea0d5c27ea0ea61299f08d688c1 Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Thu, 30 Jun 2011 17:18:51 +0200 Subject: [PATCH 06/11] feature #595: bug in migrate_local script --- src/vmm_mad/remotes/kvm/migrate_local | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vmm_mad/remotes/kvm/migrate_local b/src/vmm_mad/remotes/kvm/migrate_local index 29c08ee311..c493385317 100644 --- a/src/vmm_mad/remotes/kvm/migrate_local +++ b/src/vmm_mad/remotes/kvm/migrate_local @@ -18,9 +18,9 @@ source $(dirname $0)/kvmrc -src_host=$1 -deploy_id=$2 -dest_host=$3 +deploy_id=$1 +dest_host=$2 +src_host=$3 virsh --connect $QEMU_PROTOCOL://$src_host/system \ migrate --live $deploy_id $QEMU_PROTOCOL://$dest_host/system From 33fe05472f4e1f2c4688ac10a70843b369b4ee8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Fri, 1 Jul 2011 10:44:53 +0200 Subject: [PATCH 07/11] Bug in oneimage chown --- src/cli/oneimage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/oneimage b/src/cli/oneimage index 93babe60cd..c9dab53b2e 100755 --- a/src/cli/oneimage +++ b/src/cli/oneimage @@ -184,7 +184,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :chown, chown_desc, [:range, :imageid_list], :userid, [:groupid,nil] do - gid = args[2].nil? ? -1 : args[2].to_id + gid = args[2].nil? ? -1 : args[2].to_i helper.perform_actions(args[0],options,"Owner/Group changed") do |image| image.chown(args[1].to_i, gid) end From 0912dd690c16bb31344fe8f78cc219d45bac7f9c Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Fri, 1 Jul 2011 13:11:07 +0200 Subject: [PATCH 08/11] bug #701: old code left in im wrapper --- src/im_mad/im_exec/one_im_exec | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/im_mad/im_exec/one_im_exec b/src/im_mad/im_exec/one_im_exec index 0e018ab53c..2a941ecf89 100755 --- a/src/im_mad/im_exec/one_im_exec +++ b/src/im_mad/im_exec/one_im_exec @@ -16,15 +16,6 @@ # limitations under the License. # #--------------------------------------------------------------------------- # -#Parse command line arguments -while getopts r: option $@ -do - case $option in - r) export IM_REMOTE_DIR="$OPTARG";; - esac -done -shift $(($OPTIND - 1)) - #Setup driver variables DRIVER_NAME=`basename $0 | cut -d. -f1` From 19073b47d5e0d1fc664003bcf50e92453754266b Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Fri, 1 Jul 2011 13:53:14 +0200 Subject: [PATCH 09/11] feature #595: added kvm migrate_local to install.sh --- install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install.sh b/install.sh index bd59ea83ee..2c872908bd 100755 --- a/install.sh +++ b/install.sh @@ -445,6 +445,7 @@ VMM_EXEC_KVM_SCRIPTS="src/vmm_mad/remotes/kvm/cancel \ src/vmm_mad/remotes/kvm/deploy \ src/vmm_mad/remotes/kvm/kvmrc \ src/vmm_mad/remotes/kvm/migrate \ + src/vmm_mad/remotes/kvm/migrate_local \ src/vmm_mad/remotes/kvm/restore \ src/vmm_mad/remotes/kvm/save \ src/vmm_mad/remotes/kvm/shutdown" From 3cd1abe7abb459bebb3308928509bcb92486dca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Fri, 1 Jul 2011 17:52:05 +0200 Subject: [PATCH 10/11] Bug: Fix onetemplate helper, it wasn't showing anything in 'list' command --- src/cli/one_helper/onetemplate_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/one_helper/onetemplate_helper.rb b/src/cli/one_helper/onetemplate_helper.rb index 4a8d6564d9..32ac96be9f 100644 --- a/src/cli/one_helper/onetemplate_helper.rb +++ b/src/cli/one_helper/onetemplate_helper.rb @@ -18,7 +18,7 @@ require 'one_helper' class OneTemplateHelper < OpenNebulaHelper::OneHelper def self.rname - "TEMPLATE" + "VMTEMPLATE" end def self.conf_file From 08b64e8090e95900a78f893168c8eb93b1fc5f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Fri, 1 Jul 2011 17:54:01 +0200 Subject: [PATCH 11/11] Bug in CLI: filter flag option for list and top commands was ignored --- src/cli/one_helper.rb | 17 +++++++++-------- src/cli/oneimage | 4 ++-- src/cli/onetemplate | 4 ++-- src/cli/onevm | 4 ++-- src/cli/onevnet | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/cli/one_helper.rb b/src/cli/one_helper.rb index 5b734fb1fa..4c0cc4f35f 100644 --- a/src/cli/one_helper.rb +++ b/src/cli/one_helper.rb @@ -81,9 +81,10 @@ EOT end end - def list_pool(options, top=false) - user_flag = options[:filter_flag] ? options[:filter_flag] : -2 - pool = factory_pool(user_flag) + def list_pool(options, top=false, filter_flag=-2) + filter_flag ||= -2 + + pool = factory_pool(filter_flag) rc = pool.info return -1, rc.message if OpenNebula.is_error?(rc) @@ -200,15 +201,15 @@ EOT def filterflag_to_i(str) filter_flag = case str - when "a", "all" then "-2" - when "m", "mine" then "-3" - when "g", "group" then "-1" + when "a", "all" then -2 + when "m", "mine" then -3 + when "g", "group" then -1 else if str.match(/^[0123456789]+$/) - str + str.to_i else user = translation_hash[:users].select { |k,v| v==str } - user.length > 0 ? user.first.first : "-2" + user.length > 0 ? user.first.first.to_i : -2 end end diff --git a/src/cli/oneimage b/src/cli/oneimage index c9dab53b2e..7459f31118 100755 --- a/src/cli/oneimage +++ b/src/cli/oneimage @@ -195,7 +195,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, [:filterflag, nil], :options=>list_options do - helper.list_pool(options) + helper.list_pool(options, false, args[0]) end show_desc = <<-EOT.unindent @@ -211,6 +211,6 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, [:filterflag, nil], :options=>list_options do - helper.list_pool(options, true) + helper.list_pool(options, true, args[0]) end end diff --git a/src/cli/onetemplate b/src/cli/onetemplate index fc6d40efe8..20fb6075b1 100755 --- a/src/cli/onetemplate +++ b/src/cli/onetemplate @@ -169,7 +169,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, [:filterflag, nil], :options=>list_options do - helper.list_pool(options) + helper.list_pool(options, false, args[0]) end show_desc = <<-EOT.unindent @@ -185,6 +185,6 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :top, top_desc, [:filterflag, nil], :options=>list_options do - helper.list_pool(options, true) + helper.list_pool(options, true, args[0]) end end diff --git a/src/cli/onevm b/src/cli/onevm index be2ce1bbb1..1079314d17 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -314,7 +314,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :list, list_desc, [:filterflag, nil], :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do - helper.list_pool(options) + helper.list_pool(options, false, args[0]) end show_desc = <<-EOT.unindent @@ -332,6 +332,6 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :top, top_desc, [:filterflag, nil], :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do - helper.list_pool(options, true) + helper.list_pool(options, true, args[0]) end end \ No newline at end of file diff --git a/src/cli/onevnet b/src/cli/onevnet index 030ce7cdfa..2a4c30517f 100755 --- a/src/cli/onevnet +++ b/src/cli/onevnet @@ -158,7 +158,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do command :list, list_desc, [:filterflag, nil], :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do - helper.list_pool(options) + helper.list_pool(options, false, args[0]) end show_desc = <<-EOT.unindent