From eb9e4a5c42dcfc662e4ac8aaefe3a9fea7cbb2cf Mon Sep 17 00:00:00 2001 From: Jaime Melis Date: Mon, 3 Nov 2014 17:45:02 +0100 Subject: [PATCH] Feature #3175: Better sg/post call that can handle exceptions. --- src/vnm_mad/remotes/security_groups/clean | 3 +-- src/vnm_mad/remotes/security_groups/post | 19 ++++++++++++++++++- src/vnm_mad/remotes/security_groups/pre | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/vnm_mad/remotes/security_groups/clean b/src/vnm_mad/remotes/security_groups/clean index 6bbe392c5c..ce9da6325f 100755 --- a/src/vnm_mad/remotes/security_groups/clean +++ b/src/vnm_mad/remotes/security_groups/clean @@ -23,5 +23,4 @@ require 'OpenNebulaNetwork' require 'SecurityGroups' sg = OpenNebulaSG.from_base64(ARGV[0]) -exit sg.deactivate - +sg.deactivate diff --git a/src/vnm_mad/remotes/security_groups/post b/src/vnm_mad/remotes/security_groups/post index b47a1ec41f..1dd12016e5 100755 --- a/src/vnm_mad/remotes/security_groups/post +++ b/src/vnm_mad/remotes/security_groups/post @@ -26,4 +26,21 @@ template64 = ARGV[0] deploy_id = ARGV[1] sg = OpenNebulaSG.from_base64(template64, deploy_id) -exit sg.activate + +begin + sg.activate +rescue OpenNebulaSGError => e + OpenNebula.log_error(e.error.message) + + case e.stage + when :bootstrap, :security_groups + OpenNebula.log_info("Deactivating security groups for #{deploy_id}.") + sg.deactivate + when :deactivate + OpenNebula.log_error("Error deactivating security group rules for #{deploy_id}. Please verify manually.") + end + exit 1 +rescue Exception => e + OpenNebula.log_error(e.message) + exit 1 +end diff --git a/src/vnm_mad/remotes/security_groups/pre b/src/vnm_mad/remotes/security_groups/pre index d240d61f7d..6ae943159e 100755 --- a/src/vnm_mad/remotes/security_groups/pre +++ b/src/vnm_mad/remotes/security_groups/pre @@ -16,4 +16,4 @@ # limitations under the License. # #--------------------------------------------------------------------------- # -exit 0 \ No newline at end of file +exit 0