diff --git a/install.sh b/install.sh index 8fec4fcf09..f36dd83661 100755 --- a/install.sh +++ b/install.sh @@ -1596,7 +1596,7 @@ NETWORK_VCENTER_FILES="src/vnm_mad/remotes/vcenter/pre \ src/vnm_mad/remotes/vcenter/clean \ src/vnm_mad/remotes/vcenter/update_sg" -NETWORK_ELASTIC_FILES="src/vnm_mad/remotes/elastic/Elastic.rb \ +NETWORK_ELASTIC_FILES="src/vnm_mad/remotes/elastic/elastic.rb \ src/vnm_mad/remotes/elastic/clean \ src/vnm_mad/remotes/elastic/post \ src/vnm_mad/remotes/elastic/pre \ diff --git a/share/oneprovision/provisions/hybrid+_firecracker/provisions/common.d/defaults.yml b/share/oneprovision/provisions/hybrid+_firecracker/provisions/common.d/defaults.yml index 4496bf4bd2..6a56a62cef 100644 --- a/share/oneprovision/provisions/hybrid+_firecracker/provisions/common.d/defaults.yml +++ b/share/oneprovision/provisions/hybrid+_firecracker/provisions/common.d/defaults.yml @@ -22,3 +22,6 @@ defaults: configuration: oneprovision_hypervisor: 'firecracker' + + # required for copying recovery VM snaphosts to the replica host + opennebula_ssh_deploy_private_key: true diff --git a/src/vnm_mad/remotes/elastic/clean b/src/vnm_mad/remotes/elastic/clean index e3831b74aa..6cb9cd9e58 100755 --- a/src/vnm_mad/remotes/elastic/clean +++ b/src/vnm_mad/remotes/elastic/clean @@ -42,7 +42,8 @@ $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << File.join(File.dirname(__FILE__), '..') $LOAD_PATH << LIB_LOCATION + '/oneprovision/lib' -require 'Elastic' +require 'elastic' +require 'CommandManager' template64 = STDIN.read hostname = ARGV[0] @@ -52,7 +53,7 @@ begin drv.unassign - drv.run_hooks(ARGV, template64) if drv.deactivate == 0 + drv.run_hooks_remote(ARGV, template64) if drv.deactivate == 0 rescue StandardError => e OpenNebula.log_error(e.message) OpenNebula.log_error(e.backtrace) diff --git a/src/vnm_mad/remotes/elastic/Elastic.rb b/src/vnm_mad/remotes/elastic/elastic.rb similarity index 100% rename from src/vnm_mad/remotes/elastic/Elastic.rb rename to src/vnm_mad/remotes/elastic/elastic.rb diff --git a/src/vnm_mad/remotes/elastic/post b/src/vnm_mad/remotes/elastic/post index 425e790b26..99d3efed07 100755 --- a/src/vnm_mad/remotes/elastic/post +++ b/src/vnm_mad/remotes/elastic/post @@ -42,7 +42,7 @@ $LOAD_PATH << File.dirname(__FILE__) $LOAD_PATH << File.join(File.dirname(__FILE__), '..') $LOAD_PATH << LIB_LOCATION + '/oneprovision/lib' -require 'Elastic' +require 'elastic' template64 = STDIN.read diff --git a/src/vnm_mad/remotes/lib/vnm_driver.rb b/src/vnm_mad/remotes/lib/vnm_driver.rb index 23540b4ddc..6fc4f28bb5 100644 --- a/src/vnm_mad/remotes/lib/vnm_driver.rb +++ b/src/vnm_mad/remotes/lib/vnm_driver.rb @@ -316,6 +316,16 @@ module VNMMAD 0 end + def run_hooks_remote(args, stdin) + hostname = args[0] + + cmd = "run-parts #{$PROGRAM_NAME}.d".gsub('/var/lib/one/remotes', + '/var/tmp/one') + args.each {|arg| cmd << " --arg=\"#{arg}\"" } + + SSHCommand.run(cmd, hostname, nil, stdin, 60) + end + private # returns files sorted alphabetically