module Backends::Opennebula::Helpers::NetworkParseHelper
Public Instance Methods
network_parse_backend_obj(backend_network)
click to toggle source
# File lib/backends/opennebula/helpers/network_parse_helper.rb, line 5 def network_parse_backend_obj(backend_network) network = Occi::Infrastructure::Network.new # include some basic mixins network.mixins << 'http://schemas.ogf.org/occi/infrastructure/network#ipnetwork' network.mixins << 'http://opennebula.org/occi/infrastructure#network' # include mixins stored in ON's VN template unless backend_network['TEMPLATE/OCCI_NETWORK_MIXINS'].blank? backend_network_mixins = backend_network['TEMPLATE/OCCI_NETWORK_MIXINS'].split(' ') backend_network_mixins.each do |mixin| network.mixins << mixin unless mixin.blank? end end # include basic OCCI attributes basic_attrs = network_parse_basic_attrs(backend_network) network.attributes.merge! basic_attrs # include ONE-specific attributes one_attrs = network_parse_one_attrs(backend_network) network.attributes.merge! one_attrs # include state information and available actions result = network_parse_state(backend_network) network.state = result.state result.actions.each { |a| network.actions << a } network end
network_parse_basic_attrs(backend_network)
click to toggle source
# File lib/backends/opennebula/helpers/network_parse_helper.rb, line 36 def network_parse_basic_attrs(backend_network) basic_attrs = Occi::Core::Attributes.new basic_attrs['occi.core.id'] = backend_network['ID'] basic_attrs['occi.core.title'] = backend_network['NAME'] if backend_network['NAME'] basic_attrs['occi.core.summary'] = backend_network['TEMPLATE/DESCRIPTION'] unless backend_network['TEMPLATE/DESCRIPTION'].blank? basic_attrs['occi.network.gateway'] = backend_network['TEMPLATE/GATEWAY'] if backend_network['TEMPLATE/GATEWAY'] basic_attrs['occi.network.vlan'] = backend_network['VLAN_ID'].to_i unless backend_network['VLAN_ID'].blank? if backend_network.type_str == 'RANGED' basic_attrs['occi.network.allocation'] = 'dynamic' basic_attrs['occi.network.address'] = calculate_cidr(backend_network) else basic_attrs['occi.network.allocation'] = 'static' end basic_attrs end
network_parse_one_attrs(backend_network)
click to toggle source
# File lib/backends/opennebula/helpers/network_parse_helper.rb, line 56 def network_parse_one_attrs(backend_network) one_attrs = Occi::Core::Attributes.new one_attrs['org.opennebula.network.id'] = backend_network['ID'] if backend_network['VLAN'].blank? || backend_network['VLAN'].to_i == 0 one_attrs['org.opennebula.network.vlan'] = 'NO' else one_attrs['org.opennebula.network.vlan'] = 'YES' end one_attrs['org.opennebula.network.phydev'] = backend_network['PHYDEV'] unless backend_network['PHYDEV'].blank? one_attrs['org.opennebula.network.bridge'] = backend_network['BRIDGE'] unless backend_network['BRIDGE'].blank? unless backend_network['RANGE'].blank? one_attrs['org.opennebula.network.ip_start'] = backend_network['RANGE/IP_START'] if backend_network['RANGE/IP_START'] one_attrs['org.opennebula.network.ip_end'] = backend_network['RANGE/IP_END'] if backend_network['RANGE/IP_END'] end one_attrs end
network_parse_state(backend_network)
click to toggle source
# File lib/backends/opennebula/helpers/network_parse_helper.rb, line 78 def network_parse_state(backend_network) result = Hashie::Mash.new # ON doesn't implement actions on networks result.actions = [] result.state = 'active' result end