X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fneutron%2Flib%2Fpuppet%2Fprovider%2Fneutron_network%2Fneutron.rb;fp=3rdparty%2Fmodules%2Fneutron%2Flib%2Fpuppet%2Fprovider%2Fneutron_network%2Fneutron.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=e5a0c39bfa10d50be18d00843c9c4463253c3ee9;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/neutron/lib/puppet/provider/neutron_network/neutron.rb b/3rdparty/modules/neutron/lib/puppet/provider/neutron_network/neutron.rb deleted file mode 100644 index e5a0c39bf..000000000 --- a/3rdparty/modules/neutron/lib/puppet/provider/neutron_network/neutron.rb +++ /dev/null @@ -1,141 +0,0 @@ -require File.join(File.dirname(__FILE__), '..','..','..', - 'puppet/provider/neutron') - -Puppet::Type.type(:neutron_network).provide( - :neutron, - :parent => Puppet::Provider::Neutron -) do - desc <<-EOT - Neutron provider to manage neutron_network type. - - Assumes that the neutron service is configured on the same host. - EOT - - commands :neutron => 'neutron' - - mk_resource_methods - - def self.neutron_type - 'net' - end - - def self.instances - list_neutron_resources(neutron_type).collect do |id| - attrs = get_neutron_resource_attrs(neutron_type, id) - new( - :ensure => :present, - :name => attrs['name'], - :id => attrs['id'], - :admin_state_up => attrs['admin_state_up'], - :provider_network_type => attrs['provider:network_type'], - :provider_physical_network => attrs['provider:physical_network'], - :provider_segmentation_id => attrs['provider:segmentation_id'], - :router_external => attrs['router:external'], - :shared => attrs['shared'], - :tenant_id => attrs['tenant_id'] - ) - end - end - - def self.prefetch(resources) - networks = instances - resources.keys.each do |name| - if provider = networks.find{ |net| net.name == name } - resources[name].provider = provider - end - end - end - - def exists? - @property_hash[:ensure] == :present - end - - def create - network_opts = Array.new - - if @resource[:shared] - network_opts << '--shared' - end - - if @resource[:tenant_name] - tenant_id = self.class.get_tenant_id(model.catalog, - @resource[:tenant_name]) - network_opts << "--tenant_id=#{tenant_id}" - elsif @resource[:tenant_id] - network_opts << "--tenant_id=#{@resource[:tenant_id]}" - end - - if @resource[:provider_network_type] - network_opts << \ - "--provider:network_type=#{@resource[:provider_network_type]}" - end - - if @resource[:provider_physical_network] - network_opts << \ - "--provider:physical_network=#{@resource[:provider_physical_network]}" - end - - if @resource[:provider_segmentation_id] - network_opts << \ - "--provider:segmentation_id=#{@resource[:provider_segmentation_id]}" - end - - if @resource[:router_external] == 'True' - network_opts << '--router:external' - end - - results = auth_neutron('net-create', '--format=shell', - network_opts, resource[:name]) - - if results =~ /Created a new network:/ - attrs = self.class.parse_creation_output(results) - @property_hash = { - :ensure => :present, - :name => resource[:name], - :id => attrs['id'], - :admin_state_up => attrs['admin_state_up'], - :provider_network_type => attrs['provider:network_type'], - :provider_physical_network => attrs['provider:physical_network'], - :provider_segmentation_id => attrs['provider:segmentation_id'], - :router_external => attrs['router:external'], - :shared => attrs['shared'], - :tenant_id => attrs['tenant_id'], - } - else - fail("did not get expected message on network creation, got #{results}") - end - end - - def destroy - auth_neutron('net-delete', name) - @property_hash[:ensure] = :absent - end - - def admin_state_up=(value) - auth_neutron('net-update', "--admin_state_up=#{value}", name) - end - - def shared=(value) - auth_neutron('net-update', "--shared=#{value}", name) - end - - def router_external=(value) - if value == 'False' - auth_neutron('net-update', "--router:external=#{value}", name) - else - auth_neutron('net-update', "--router:external", name) - end - end - - [ - :provider_network_type, - :provider_physical_network, - :provider_segmentation_id, - :tenant_id, - ].each do |attr| - define_method(attr.to_s + "=") do |value| - fail("Property #{attr.to_s} does not support being updated") - end - end - -end