1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

Feature #3175: Call the new SG driver from the ebtables and 802.1q driver

This commit is contained in:
Jaime Melis 2014-12-09 16:25:14 +01:00
parent 9568e0b21a
commit a67b541ff9
9 changed files with 118 additions and 37 deletions

View File

@ -934,6 +934,8 @@ AUTH_PLAIN_FILES="src/authm_mad/remotes/plain/authenticate"
NETWORK_FILES="src/vnm_mad/remotes/OpenNebulaNetwork.rb \
src/vnm_mad/remotes/OpenNebulaNetwork.conf \
src/vnm_mad/remotes/Firewall.rb \
src/vnm_mad/remotes/SecurityGroups.rb \
src/vnm_mad/remotes/IPNetmask.rb \
src/vnm_mad/remotes/OpenNebulaNic.rb"
NETWORK_8021Q_FILES="src/vnm_mad/remotes/802.1Q/clean \
@ -971,8 +973,7 @@ NETWORK_VMWARE_FILES="src/vnm_mad/remotes/vmware/clean \
NETWORK_SG_FILES="src/vnm_mad/remotes/security_groups/clean \
src/vnm_mad/remotes/security_groups/post \
src/vnm_mad/remotes/security_groups/pre \
src/vnm_mad/remotes/security_groups/SecurityGroups.rb"
src/vnm_mad/remotes/security_groups/pre"
#-------------------------------------------------------------------------------
# Transfer Manager commands, to be installed under $LIB_LOCATION/tm_commands

View File

@ -20,8 +20,15 @@ $: << File.dirname(__FILE__)
$: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'SecurityGroups'
require 'Firewall'
fw = OpenNebulaFirewall.from_base64(ARGV[0])
template64 = ARGV[0]
fw.deactivate
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64)
fw.deactivate
else
sg = OpenNebulaSG.from_base64(template64)
sg.deactivate
end

View File

@ -20,11 +20,38 @@ $: << File.dirname(__FILE__)
$: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'SecurityGroups'
require 'Firewall'
template64 = ARGV[0]
deploy_id = ARGV[1]
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
fw.activate
else
sg = OpenNebulaSG.from_base64(template64, deploy_id)
begin
sg.activate
rescue OpenNebulaSGError => e
error = e.error
stage = e.stage
fw.activate
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
case 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 => error
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
exit 1
end
end

View File

@ -19,13 +19,20 @@
$: << File.dirname(__FILE__)
$: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'Ebtables'
require 'Firewall'
require 'SecurityGroups'
onevlan = EbtablesVLAN.from_base64(ARGV[0])
template64 = ARGV[0]
onevlan = EbtablesVLAN.from_base64(template64)
onevlan.deactivate
fw = OpenNebulaFirewall.from_base64(ARGV[0])
fw.deactivate
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64)
fw.deactivate
else
sg = OpenNebulaSG.from_base64(template64)
sg.deactivate
end

View File

@ -19,16 +19,44 @@
$: << File.dirname(__FILE__)
$: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'Ebtables'
require 'SecurityGroups'
require 'Firewall'
template64 = ARGV[0]
deploy_id = ARGV[1]
onevlan = EbtablesVLAN.from_base64(template64, deploy_id)
onevlan.activate
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
fw.activate
else
sg = OpenNebulaSG.from_base64(template64, deploy_id)
begin
sg.activate
rescue OpenNebulaSGError => e
error = e.error
stage = e.stage
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
case 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 => error
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
exit 1
end
end
fw.activate

View File

@ -23,5 +23,4 @@ require 'OpenNebulaNetwork'
require 'Firewall'
fw = OpenNebulaFirewall.from_base64(ARGV[0])
fw.deactivate

View File

@ -26,5 +26,4 @@ template64 = ARGV[0]
deploy_id = ARGV[1]
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
fw.activate

View File

@ -21,6 +21,14 @@ $: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'SecurityGroups'
require 'Firewall'
sg = OpenNebulaSG.from_base64(ARGV[0])
sg.deactivate
template64 = ARGV[0]
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64)
fw.deactivate
else
sg = OpenNebulaSG.from_base64(template64)
sg.deactivate
end

View File

@ -21,32 +21,37 @@ $: << File.join(File.dirname(__FILE__), "..")
require 'OpenNebulaNetwork'
require 'SecurityGroups'
require 'Firewall'
template64 = ARGV[0]
deploy_id = ARGV[1]
sg = OpenNebulaSG.from_base64(template64, deploy_id)
begin
sg.activate
rescue OpenNebulaSGError => e
error = e.error
stage = e.stage
if OpenNebulaNetwork.has_fw_attrs?(template64)
fw = OpenNebulaFirewall.from_base64(template64, deploy_id)
fw.activate
else
sg = OpenNebulaSG.from_base64(template64, deploy_id)
begin
sg.activate
rescue OpenNebulaSGError => e
error = e.error
stage = e.stage
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
case stage
when :bootstrap, :security_groups
OpenNebula.log_info("Deactivating security groups for #{deploy_id}.")
case 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.")
sg.deactivate
when :deactivate
OpenNebula.log_error("Error deactivating security group rules for #{deploy_id}. Please verify manually.")
end
exit 1
rescue Exception => error
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
exit 1
end
exit 1
rescue Exception => error
OpenNebula.log_error(error.message)
OpenNebula.log_error(error.backtrace)
exit 1
end