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