From 8cae2def7517079d1190f1f1942c0b33efaac880 Mon Sep 17 00:00:00 2001 From: Tobias Urdin Date: Fri, 10 May 2019 17:51:22 +0200 Subject: [PATCH] Remove nova-network code These was deprecated last cycle and can now be removed. Depends-On: https://review.opendev.org/#/c/658557/ Change-Id: I6f7fde1f475acec82bafc66183211f317b4c7795 --- lib/puppet/provider/nova_network/nova.rb | 43 ---------- lib/puppet/type/nova_network.rb | 71 ---------------- manifests/compute/neutron.pp | 50 ----------- manifests/deps.pp | 4 - manifests/init.pp | 14 ---- manifests/manage/network.pp | 75 ----------------- manifests/network/bridge.pp | 47 ----------- manifests/network/flat.pp | 46 ---------- manifests/network/flatdhcp.pp | 83 ------------------- manifests/network/vlan.pp | 76 ----------------- .../remove-nova-network-ac5d104fd47e3efc.yaml | 13 +++ spec/classes/nova_compute_neutron_spec.rb | 50 ----------- spec/classes/nova_init_spec.rb | 2 - spec/classes/nova_network_flat_spec.rb | 38 --------- spec/classes/nova_network_flatdhcp_spec.rb | 50 ----------- spec/classes/nova_network_vlan_spec.rb | 48 ----------- spec/defines/nova_manage_networks_spec.rb | 74 ----------------- spec/unit/provider/nova_network/nova_spec.rb | 64 -------------- spec/unit/type/nova_network_spec.rb | 12 --- 19 files changed, 13 insertions(+), 847 deletions(-) delete mode 100644 lib/puppet/provider/nova_network/nova.rb delete mode 100644 lib/puppet/type/nova_network.rb delete mode 100644 manifests/compute/neutron.pp delete mode 100644 manifests/manage/network.pp delete mode 100644 manifests/network/bridge.pp delete mode 100644 manifests/network/flat.pp delete mode 100644 manifests/network/flatdhcp.pp delete mode 100644 manifests/network/vlan.pp create mode 100644 releasenotes/notes/remove-nova-network-ac5d104fd47e3efc.yaml delete mode 100644 spec/classes/nova_compute_neutron_spec.rb delete mode 100644 spec/classes/nova_network_flat_spec.rb delete mode 100644 spec/classes/nova_network_flatdhcp_spec.rb delete mode 100644 spec/classes/nova_network_vlan_spec.rb delete mode 100644 spec/defines/nova_manage_networks_spec.rb delete mode 100644 spec/unit/provider/nova_network/nova_spec.rb delete mode 100644 spec/unit/type/nova_network_spec.rb diff --git a/lib/puppet/provider/nova_network/nova.rb b/lib/puppet/provider/nova_network/nova.rb deleted file mode 100644 index 64e194b9c..000000000 --- a/lib/puppet/provider/nova_network/nova.rb +++ /dev/null @@ -1,43 +0,0 @@ -require File.join(File.dirname(__FILE__), '..','..','..', 'puppet/provider/nova') - -Puppet::Type.type(:nova_network).provide(:nova, :parent => Puppet::Provider::Nova) do - - desc "Manage nova network" - - optional_commands :nova => 'nova' - - def create - optional_opts = [] - { - # this needs to be converted from a project name to an id - :project => '--project_id', - :dns1 => '--dns1', - :dns2 => '--dns2', - :gateway => '--gateway', - :bridge => '--bridge', - :vlan_start => '--vlan-start', - :allowed_start => '--allowed-start', - :allowed_end => '--allowed-end', - }.each do |param, opt| - if resource[param] - optional_opts.push(opt).push(resource[param]) - end - end - - opts = [resource[:label], "--fixed-range-v4", resource[:name]] - - auth_nova('network-create', opts + optional_opts) - end - - def exists? - instances = auth_nova('network-list') - return instances.split('\n')[1..-1].detect do |n| - n =~ /(\S+)\s+(#{resource[:network]})\s+(\S+)/ - end - end - - def destroy - auth_nova("network-delete", resource[:network]) - end - -end diff --git a/lib/puppet/type/nova_network.rb b/lib/puppet/type/nova_network.rb deleted file mode 100644 index 4e1c9599c..000000000 --- a/lib/puppet/type/nova_network.rb +++ /dev/null @@ -1,71 +0,0 @@ -Puppet::Type.newtype(:nova_network) do - - @doc = "Manage creation/deletion of nova networks. During creation, network - CIDR and netmask will be calculated automatically" - - ensurable - - # there are concerns about determining uniqueness of network - # segments b/c it is actually the combination of network/prefix - # that determine uniqueness - newparam(:network, :namevar => true) do - desc "IPv4 Network (ie, 192.168.1.0/24)" - newvalues(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(\d|[1-2]\d|3[0-2]))$/) - end - - newparam(:label) do - desc "The Nova network label" - defaultto "novanetwork" - - munge do |value| - Puppet.deprecation_warning('nova_network is deprecated and will be removed in a future release') - value - end - end - - newparam(:num_networks) do - desc 'Number of networks to create' - defaultto(1) - end - - newparam(:bridge) do - desc 'bridge to use for flat network' - end - - newparam(:project) do - desc 'project that the network is associated with' - end - - newparam(:gateway) do - end - - newparam(:dns1) do - desc 'first dns server' - end - - newparam(:dns2) do - desc 'second dns server' - end - - newparam(:allowed_start) do - desc 'Start of allowed addresses for instances' - newvalues(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/) - end - - newparam(:allowed_end) do - desc 'End of allowed addresses for instances' - newvalues(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/) - end - - newparam(:vlan_start) do - end - - newparam(:network_size) do - defaultto('256') - end - - validate do - raise(Puppet::Error, 'Label must be set') unless self[:label] - end - -end diff --git a/manifests/compute/neutron.pp b/manifests/compute/neutron.pp deleted file mode 100644 index 2660f27c0..000000000 --- a/manifests/compute/neutron.pp +++ /dev/null @@ -1,50 +0,0 @@ -# == Class: nova::compute::neutron -# -# Manage the network driver to use for compute guests -# This will use virtio for VM guests and the -# specified driver for the VIF -# -# DEPRECATED! -# -# === Parameters -# -# [*libvirt_vif_driver*] -# (optional) The libvirt VIF driver to configure the VIFs. -# Defaults to 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver'. -# -# [*force_snat_range*] -# (optional) Force SNAT rule to specified network for nova-network -# Default to 0.0.0.0/0 -# Due to architecture constraints in nova_config, it's not possible to setup -# more than one SNAT rule though initial parameter is MultiStrOpt -class nova::compute::neutron ( - $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver', - $force_snat_range = '0.0.0.0/0', -) { - include ::nova::deps - - # NOTE(tobias-urdin): libvirt/vif_driver option does not exist and force_snat_range is - # a nova-network specific config which is deprecated. - warning('nova::compute::network class is deprecated and will be removed in a future release') - - nova_config { - 'libvirt/vif_driver': value => $libvirt_vif_driver; - } - - if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' and $force_snat_range { - # Validate ip and mask for force_snat_range - $force_snat_range_array = split($force_snat_range, '/') - if is_ip_address($force_snat_range_array[0]) and is_integer($force_snat_range_array[1]) { - nova_config { - 'DEFAULT/force_snat_range': value => $force_snat_range; - } - } else { - fail('force_snat_range should be IPv4 or IPv6 CIDR notation') - } - } else { - nova_config { - 'DEFAULT/force_snat_range': ensure => absent; - } - } - -} diff --git a/manifests/deps.pp b/manifests/deps.pp index 0a63a4f35..920a1b488 100644 --- a/manifests/deps.pp +++ b/manifests/deps.pp @@ -44,10 +44,6 @@ class nova::deps { -> Nova_floating<||> Anchor['nova::dbsync::end'] -> Nova_floating<||> - Anchor['nova::dbsync_api::end'] - -> Nova_network<||> - Anchor['nova::dbsync::end'] - -> Nova_network<||> # all cache settings should be applied and all packages should be installed # before service startup diff --git a/manifests/init.pp b/manifests/init.pp index e0007c623..16845f22c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -413,10 +413,6 @@ # exceptions in the API service # Defaults to undef # -# [*use_ipv6*] -# (optional) Use IPv6 or not. -# Defaults to undef -# class nova( $ensure_package = 'present', $database_connection = undef, @@ -510,7 +506,6 @@ class nova( $notify_api_faults = undef, $image_service = undef, $notify_on_api_faults = undef, - $use_ipv6 = undef, ) inherits nova::params { include ::nova::deps @@ -518,10 +513,6 @@ class nova( # maintain backward compatibility include ::nova::db - if $use_ipv6 { - warning('nova::use_ipv6 is deprecated and will be removed in a future release') - } - validate_legacy(Array, 'validate_array', $enabled_ssl_apis) if empty($enabled_ssl_apis) and $use_ssl { warning('enabled_ssl_apis is empty but use_ssl is set to true') @@ -716,11 +707,6 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.") topics => $notification_topics, } - # TODO(tobias-urdin): Remove when use_ipv6 params is removed. - nova_config { - 'os_vif_linux_bridge/use_ipv6': value => $use_ipv6; - } - nova_config { 'cinder/catalog_info': value => $cinder_catalog_info; 'DEFAULT/ovsdb_connection': value => $ovsdb_connection; diff --git a/manifests/manage/network.pp b/manifests/manage/network.pp deleted file mode 100644 index 482f3710f..000000000 --- a/manifests/manage/network.pp +++ /dev/null @@ -1,75 +0,0 @@ -# === Parameters: -# -# DEPRECATED! -# -# [*network*] -# (required) IPv4 CIDR of network to create. -# -# [*label*] -# (optional) The label of the network. -# Defaults to 'novanetwork'. -# -# [*num_networks*] -# (optional) Number of networks to split $network into. -# Defaults to 1 -# -# [*network_size*] -# (optional) Size of the network to create -# Defaults to 255 -# -# [*vlan_start*] -# (optional) The vlan number to use if in vlan mode -# Defaults to undef -# -# [*allowed_start*] -# (optional) Start of allowed addresses for instances -# Defaults to undef -# -# [*allowed_end*] -# (optional) End of allowed addresses for instances -# Defaults to undef -# -# [*project*] -# (optional) Project that network should be associated with -# Defaults to undef -# -# [*dns1*] -# (optional) First DNS server -# Defaults to undef -# -# [*dns2*] -# (optional) Second DNS server -# Defaults to undef -# -define nova::manage::network ( - $network, - $label = 'novanetwork', - $num_networks = 1, - $network_size = 255, - $vlan_start = undef, - $project = undef, - $allowed_start = undef, - $allowed_end = undef, - $dns1 = undef, - $dns2 = undef -) { - - include ::nova::deps - - warning('nova::manage::network is deprecated and will be removed in a future release') - - nova_network { $name: - ensure => present, - network => $network, - label => $label, - num_networks => $num_networks, - network_size => $network_size, - project => $project, - vlan_start => $vlan_start, - allowed_start => $allowed_start, - allowed_end => $allowed_end, - dns1 => $dns1, - dns2 => $dns2, - } - -} diff --git a/manifests/network/bridge.pp b/manifests/network/bridge.pp deleted file mode 100644 index 28e5fd006..000000000 --- a/manifests/network/bridge.pp +++ /dev/null @@ -1,47 +0,0 @@ -# bridge.pp -# -# DEPRECATED! -# -# === Parameters: -# -# [*ip*] -# (mandatory) IP address of the bridge interface. -# -# [*netmask*] -# (optional) Netmask of the bridge interface. -# Defaults to '255.255.255.0' (/24). -# -define nova::network::bridge ( - $ip, - $netmask = '255.255.255.0' -) { - include ::nova::deps - - warning('nova::network::bridge is deprecated and will be removed in a future release') - - case $::osfamily { - - 'Debian': { - $context = '/files/etc/network/interfaces' - augeas { "bridge_${name}": - context => $context, - changes => [ - "set auto[child::1 = '${name}']/1 ${name}", - "set iface[. = '${name}'] ${name}", - "set iface[. = '${name}']/family inet", - "set iface[. = '${name}']/method static", - "set iface[. = '${name}']/address ${ip}", - "set iface[. = '${name}']/netmask ${netmask}", - "set iface[. = '${name}']/bridge_ports none", - ], - notify => Exec['networking-refresh'], - } - } - - 'RedHat' : { - } - - default: { fail('nova::network_bridge currently only supports osfamily Debian and RedHat') } - - } -} diff --git a/manifests/network/flat.pp b/manifests/network/flat.pp deleted file mode 100644 index 5f97e41b2..000000000 --- a/manifests/network/flat.pp +++ /dev/null @@ -1,46 +0,0 @@ -# == Class: nova::network::flat -# -# Configuration settings for nova flat network -# -# DEPRECATED! -# -# === Parameters: -# -# [*fixed_range*] -# (required) The IPv4 CIDR for the network -# -# [*flat_interface*] -# (optional) Interface that flat network will use for bridging -# Defaults to undef -# -# [*public_interface*] -# (optional) The interface to use for public traffic -# Defaults to undef -# -# [*flat_network_bridge*] -# (optional) The name of the bridge to use -# Defaults to 'br100' -# -class nova::network::flat ( - $fixed_range, - $flat_interface=undef, - $public_interface = undef, - $flat_network_bridge = 'br100' -) { - - include ::nova::deps - - warning('nova::network::flat is deprecated and nova-network will be removed in a future release') - - if $public_interface { - nova_config { 'DEFAULT/public_interface': value => $public_interface } - } - - nova_config { - 'DEFAULT/network_manager': value => 'nova.network.manager.FlatManager'; - 'DEFAULT/fixed_range': value => $fixed_range; - 'DEFAULT/flat_interface': value => $flat_interface; - 'DEFAULT/flat_network_bridge': value => $flat_network_bridge; - } - -} diff --git a/manifests/network/flatdhcp.pp b/manifests/network/flatdhcp.pp deleted file mode 100644 index 0406ce0fd..000000000 --- a/manifests/network/flatdhcp.pp +++ /dev/null @@ -1,83 +0,0 @@ -# == Class: nova::network::flatdhcp -# -# Configures nova-network with flat dhcp option -# -# DEPRECATED! -# -# === Parameters: -# -# [*fixed_range*] -# (required) The IPv4 CIDR for the flat network -# -# [*flat_interface*] -# (optional) FlatDHCP will bridge into this interface -# Defaults to undef -# -# [*public_interface*] -# (optional) -# Defaults to undef -# -# [*flat_network_bridge*] -# (optional) Bridge for simple network instances ( -# Defaults to 'br100' -# -# [*force_dhcp_release*] -# (optional) Send a dhcp release on instance termination -# Defaults to true -# -# [*flat_injected*] -# (optional) Whether to attempt to inject network setup into guest -# Defaults to false -# -# [*dhcp_domain*] -# (optional) domain to use for building the hostnames -# Defaults to 'novalocal' -# -# [*dhcpbridge*] -# (optional) 'location of nova-dhcpbridge' -# Defaults to '/usr/bin/nova-dhcpbridge' -# -# [*dhcpbridge_flagfile*] -# (optional) location of flagfiles for dhcpbridge -# Defaults to '/etc/nova/nova.conf -# -class nova::network::flatdhcp ( - $fixed_range, - $flat_interface = undef, - $public_interface = undef, - $flat_network_bridge = 'br100', - $force_dhcp_release = true, - $flat_injected = false, - $dhcp_domain = 'novalocal', - $dhcpbridge = '/usr/bin/nova-dhcpbridge', - $dhcpbridge_flagfile = '/etc/nova/nova.conf' -) { - - include ::nova::deps - - warning('nova::network::flatdhcp is deprecated and nova-network will be removed in a future release') - - if $::osfamily == 'RedHat' and $::operatingsystem != 'Fedora' { - package { 'dnsmasq-utils': - ensure => present, - tag => ['openstack', 'nova-support-package'], - } - } - - if $public_interface { - nova_config { 'DEFAULT/public_interface': value => $public_interface } - } - - nova_config { - 'DEFAULT/network_manager': value => 'nova.network.manager.FlatDHCPManager'; - 'DEFAULT/fixed_range': value => $fixed_range; - 'DEFAULT/flat_interface': value => $flat_interface; - 'DEFAULT/flat_network_bridge': value => $flat_network_bridge; - 'DEFAULT/force_dhcp_release': value => $force_dhcp_release; - 'DEFAULT/flat_injected': value => $flat_injected; - 'DEFAULT/dhcp_domain': value => $dhcp_domain; - 'DEFAULT/dhcpbridge': value => $dhcpbridge; - 'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile; - } - -} diff --git a/manifests/network/vlan.pp b/manifests/network/vlan.pp deleted file mode 100644 index 6cd48d3ce..000000000 --- a/manifests/network/vlan.pp +++ /dev/null @@ -1,76 +0,0 @@ -# == Class: nova::network::vlan -# -# Configures nova network to use vlans -# -# DEPRECATED! -# -# === Parameters: -# -# [*fixed_range*] -# (required) IPv4 CIDR of the network -# -# [*vlan_interface*] -# (required) Physical ethernet adapter name for vlan networking -# -# [*public_interface*] -# (optional) Interface for public traffic -# Defaults to undef -# -# [*vlan_start*] -# (optional) First vlan to use -# Defaults to '300' -# -# [*force_dhcp_release*] -# (optional) Whether to send a dhcp release on instance termination -# Defaults to true -# -# [*dhcp_domain*] -# (optional) Domain to use for building the hostnames -# Defaults to 'novalocal' -# -# [*dhcpbridge*] -# (optional) location of nova-dhcpbridge -# Defaults to '/usr/bin/nova-dhcpbridge' -# -# [*dhcpbridge_flagfile*] -# (optional) location of flagfiles for dhcpbridge -# Defaults to '/etc/nova/nova.conf' -# -class nova::network::vlan ( - $fixed_range, - $vlan_interface, - $public_interface = undef, - $vlan_start = '300', - $force_dhcp_release = true, - $dhcp_domain = 'novalocal', - $dhcpbridge = '/usr/bin/nova-dhcpbridge', - $dhcpbridge_flagfile = '/etc/nova/nova.conf' -) { - - include ::nova::deps - - warning('nova::network::vlan is deprecated and nova-network will be removed in a future release') - - if $::osfamily == 'RedHat' and $::operatingsystem != 'Fedora' { - package { 'dnsmasq-utils': - ensure => present, - tag => ['openstack', 'nova-support-package'], - } - } - - if $public_interface { - nova_config { 'DEFAULT/public_interface': value => $public_interface } - } - - nova_config { - 'DEFAULT/network_manager': value => 'nova.network.manager.VlanManager'; - 'DEFAULT/fixed_range': value => $fixed_range; - 'DEFAULT/vlan_interface': value => $vlan_interface; - 'DEFAULT/vlan_start': value => $vlan_start; - 'DEFAULT/force_dhcp_release': value => $force_dhcp_release; - 'DEFAULT/dhcp_domain': value => $dhcp_domain; - 'DEFAULT/dhcpbridge': value => $dhcpbridge; - 'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile; - } - -} diff --git a/releasenotes/notes/remove-nova-network-ac5d104fd47e3efc.yaml b/releasenotes/notes/remove-nova-network-ac5d104fd47e3efc.yaml new file mode 100644 index 000000000..c955f6e40 --- /dev/null +++ b/releasenotes/notes/remove-nova-network-ac5d104fd47e3efc.yaml @@ -0,0 +1,13 @@ +--- +upgrade: + - | + The deprecated nova-network classes nova::network::bridge, nova::network::flat, nova::network::flatdhcp + and nova::network::vlan classes is now removed. + - | + The deprecated nova_network resource is now removed. + - | + The deprecated class nova::compute::neutron is now removed. + - | + The deprecated class nova::manage::network is now removed. + - | + The deprecated parameter nova::use_ipv6 is now removed. diff --git a/spec/classes/nova_compute_neutron_spec.rb b/spec/classes/nova_compute_neutron_spec.rb deleted file mode 100644 index b34442481..000000000 --- a/spec/classes/nova_compute_neutron_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'spec_helper' - -describe 'nova::compute::neutron' do - - context 'with default parameters' do - it { is_expected.to contain_nova_config('libvirt/vif_driver').with_value('nova.virt.libvirt.vif.LibvirtGenericVIFDriver')} - it { is_expected.to contain_nova_config('DEFAULT/force_snat_range').with(:value => '0.0.0.0/0') } - end - - context 'when overriding params' do - let :params do - {:libvirt_vif_driver => 'foo' } - end - it { is_expected.to contain_nova_config('libvirt/vif_driver').with_value('foo')} - it { is_expected.to contain_nova_config('DEFAULT/force_snat_range').with_ensure(:absent) } - end - - context 'with force_snat_range parameter set to false' do - let :params do - { :force_snat_range => false, } - end - it { is_expected.to contain_nova_config('DEFAULT/force_snat_range').with_ensure('absent') } - end - - context 'with force_snat_range parameter set to 10.0.0.0/24' do - let :params do - { :force_snat_range => '10.0.0.0/24', } - end - - it { is_expected.to contain_nova_config('DEFAULT/force_snat_range').with_value('10.0.0.0/24') } - end - - context 'with force_snat_range parameter set to fe80::/64' do - let :params do - { :force_snat_range => 'fe80::/64', } - end - - it { is_expected.to contain_nova_config('DEFAULT/force_snat_range').with_value('fe80::/64') } - end - - context 'with force_snat_range parameter set ip without mask' do - let :params do - { :force_snat_range => '10.0.0.0', } - end - - it_raises 'a Puppet::Error', /force_snat_range should be IPv4 or IPv6 CIDR notation/ - end - -end diff --git a/spec/classes/nova_init_spec.rb b/spec/classes/nova_init_spec.rb index 797066add..8cd9d8553 100644 --- a/spec/classes/nova_init_spec.rb +++ b/spec/classes/nova_init_spec.rb @@ -93,7 +93,6 @@ describe 'nova' do :os_region_name => 'MyRegion', :cross_az_attach => 'MyAZ', :ovsdb_connection => 'tcp:127.0.0.1:6640', - :use_ipv6 => true, :upgrade_level_cells => '1.0.0', :upgrade_level_cert => '1.0.0', :upgrade_level_compute => '1.0.0', @@ -172,7 +171,6 @@ describe 'nova' do is_expected.to contain_nova_config('notifications/notification_format').with_value('unversioned') is_expected.to contain_nova_config('DEFAULT/report_interval').with_value('60') is_expected.to contain_nova_config('DEFAULT/ovsdb_connection').with_value('tcp:127.0.0.1:6640') - is_expected.to contain_nova_config('os_vif_linux_bridge/use_ipv6').with_value('true') is_expected.to contain_nova_config('cinder/os_region_name').with_value('MyRegion') is_expected.to contain_nova_config('cinder/cross_az_attach').with_value('MyAZ') is_expected.to contain_nova_config('DEFAULT/ssl_only').with_value(true) diff --git a/spec/classes/nova_network_flat_spec.rb b/spec/classes/nova_network_flat_spec.rb deleted file mode 100644 index 42c53d47b..000000000 --- a/spec/classes/nova_network_flat_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'spec_helper' - -describe 'nova::network::flat' do - - describe 'with only required parameters' do - let :params do - { - :fixed_range => '10.0.0.0/32' - } - end - - it { is_expected.to contain_nova_config('DEFAULT/network_manager').with_value('nova.network.manager.FlatManager') } - it { is_expected.to_not contain_nova_config('DEFAULT/public_interface') } - it { is_expected.to contain_nova_config('DEFAULT/fixed_range').with_value('10.0.0.0/32') } - it { is_expected.to contain_nova_config('DEFAULT/flat_network_bridge').with_value('br100') } - it { is_expected.to contain_nova_config('DEFAULT/flat_interface').with_value(nil) } - end - - describe 'when overriding class parameters' do - - let :params do - { - :flat_interface => 'eth1', - :fixed_range => '10.0.0.0/32', - :public_interface => 'eth0', - :flat_network_bridge => 'br1001', - } - end - - it { is_expected.to contain_nova_config('DEFAULT/public_interface').with_value('eth0') } - it { is_expected.to contain_nova_config('DEFAULT/flat_network_bridge').with_value('br1001') } - it { is_expected.to contain_nova_config('DEFAULT/fixed_range').with_value('10.0.0.0/32') } - it { is_expected.to contain_nova_config('DEFAULT/flat_interface').with_value('eth1') } - - end - -end diff --git a/spec/classes/nova_network_flatdhcp_spec.rb b/spec/classes/nova_network_flatdhcp_spec.rb deleted file mode 100644 index 82b56b117..000000000 --- a/spec/classes/nova_network_flatdhcp_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'spec_helper' - -describe 'nova::network::flatdhcp' do - - describe 'with only required parameters' do - let :params do - { - :flat_interface => 'eth1', - :fixed_range => '10.0.0.0/32' - } - end - - it { is_expected.to contain_nova_config('DEFAULT/network_manager').with_value('nova.network.manager.FlatDHCPManager') } - it { is_expected.to_not contain_nova_config('DEFAULT/public_interface') } - it { is_expected.to contain_nova_config('DEFAULT/fixed_range').with_value('10.0.0.0/32') } - it { is_expected.to contain_nova_config('DEFAULT/flat_interface').with_value('eth1') } - it { is_expected.to contain_nova_config('DEFAULT/flat_interface').with_value('eth1') } - it { is_expected.to contain_nova_config('DEFAULT/flat_network_bridge').with_value('br100') } - it { is_expected.to contain_nova_config('DEFAULT/force_dhcp_release').with_value(true) } - it { is_expected.to contain_nova_config('DEFAULT/flat_injected').with_value(false) } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge').with_value('/usr/bin/nova-dhcpbridge') } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge_flagfile').with_value('/etc/nova/nova.conf') } - end - - describe 'when overriding class parameters' do - - let :params do - { - :flat_interface => 'eth1', - :fixed_range => '10.0.0.0/32', - :public_interface => 'eth0', - :flat_network_bridge => 'br1001', - :force_dhcp_release => false, - :flat_injected => true, - :dhcpbridge => '/usr/bin/dhcpbridge', - :dhcpbridge_flagfile => '/etc/nova/nova-dhcp.conf' - } - end - - it { is_expected.to contain_nova_config('DEFAULT/public_interface').with_value('eth0') } - it { is_expected.to contain_nova_config('DEFAULT/flat_network_bridge').with_value('br1001') } - it { is_expected.to contain_nova_config('DEFAULT/force_dhcp_release').with_value(false) } - it { is_expected.to contain_nova_config('DEFAULT/flat_injected').with_value(true) } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge').with_value('/usr/bin/dhcpbridge') } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge_flagfile').with_value('/etc/nova/nova-dhcp.conf') } - - end - -end diff --git a/spec/classes/nova_network_vlan_spec.rb b/spec/classes/nova_network_vlan_spec.rb deleted file mode 100644 index 7f6ca989d..000000000 --- a/spec/classes/nova_network_vlan_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'spec_helper' - -describe 'nova::network::vlan' do - - describe 'with only required parameters' do - let :params do - { - :vlan_interface => 'eth1', - :fixed_range => '10.0.0.0/32' - } - end - - it { is_expected.to contain_nova_config('DEFAULT/network_manager').with_value('nova.network.manager.VlanManager') } - it { is_expected.to_not contain_nova_config('DEFAULT/public_interface') } - it { is_expected.to contain_nova_config('DEFAULT/fixed_range').with_value('10.0.0.0/32') } - it { is_expected.to contain_nova_config('DEFAULT/vlan_start').with_value('300') } - it { is_expected.to contain_nova_config('DEFAULT/vlan_interface').with_value('eth1') } - it { is_expected.to contain_nova_config('DEFAULT/force_dhcp_release').with_value(true) } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge').with_value('/usr/bin/nova-dhcpbridge') } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge_flagfile').with_value('/etc/nova/nova.conf') } - - end - - describe 'with parameters overridden' do - - let :params do - { - :vlan_interface => 'eth1', - :fixed_range => '10.0.0.0/32', - :public_interface => 'eth0', - :vlan_start => '100', - :force_dhcp_release => false, - :dhcpbridge => '/usr/bin/dhcpbridge', - :dhcpbridge_flagfile => '/etc/nova/nova-dhcp.conf' - } - end - - it { is_expected.to contain_nova_config('DEFAULT/network_manager').with_value('nova.network.manager.VlanManager') } - it { is_expected.to contain_nova_config('DEFAULT/public_interface').with_value('eth0') } - it { is_expected.to contain_nova_config('DEFAULT/fixed_range').with_value('10.0.0.0/32') } - it { is_expected.to contain_nova_config('DEFAULT/vlan_start').with_value('100') } - it { is_expected.to contain_nova_config('DEFAULT/vlan_interface').with_value('eth1') } - it { is_expected.to contain_nova_config('DEFAULT/force_dhcp_release').with_value(false) } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge').with_value('/usr/bin/dhcpbridge') } - it { is_expected.to contain_nova_config('DEFAULT/dhcpbridge_flagfile').with_value('/etc/nova/nova-dhcp.conf') } - end -end diff --git a/spec/defines/nova_manage_networks_spec.rb b/spec/defines/nova_manage_networks_spec.rb deleted file mode 100644 index 519d79799..000000000 --- a/spec/defines/nova_manage_networks_spec.rb +++ /dev/null @@ -1,74 +0,0 @@ -require 'spec_helper' - -describe 'nova::manage::network' do - - let :facts do - @default_facts.merge({ :osfamily => 'RedHat', :os => { :family => 'RedHat', :release => { :major => '8'}}}) - end - - let :pre_condition do - 'include nova' - end - - let :title do - 'foo' - end - - describe 'with only required parameters' do - let :params do - { - :network => '10.0.0.0/24' - } - end - it { is_expected.to contain_nova_network('foo').with( - :ensure => 'present', - :network => '10.0.0.0/24', - :label => 'novanetwork', - :num_networks => 1, - :project => nil, - :allowed_start => nil, - :allowed_end => nil, - ) } - end - describe 'when overriding num networks' do - let :params do - { - :network => '10.0.0.0/20', - :num_networks => 2 - } - end - it { is_expected.to contain_nova_network('foo').with( - :network => '10.0.0.0/20', - :num_networks => 2 - ) } - end - - describe 'when overriding projects' do - let :params do - { - :network => '10.0.0.0/20', - :project => 'foo' - } - end - it { is_expected.to contain_nova_network('foo').with( - :network => '10.0.0.0/20', - :project => 'foo' - ) } - end - - describe 'when overriding allowed range' do - let :params do - { - :network => '10.0.0.0/20', - :allowed_start => '10.0.0.1', - :allowed_end => '10.0.0.5' - } - end - it { is_expected.to contain_nova_network('foo').with( - :network => '10.0.0.0/20', - :allowed_start => '10.0.0.1', - :allowed_end => '10.0.0.5' - ) } - end - -end diff --git a/spec/unit/provider/nova_network/nova_spec.rb b/spec/unit/provider/nova_network/nova_spec.rb deleted file mode 100644 index 5e531732a..000000000 --- a/spec/unit/provider/nova_network/nova_spec.rb +++ /dev/null @@ -1,64 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'puppet' -require 'puppet/provider/nova_network/nova' -require 'tempfile' - -provider_class = Puppet::Type.type(:nova_network).provider(:nova) - -describe provider_class do - - let :net_attrs do - { - :network => '10.20.0.0/16', - :label => 'novanetwork', - :ensure => 'present', - } - end - - let :resource do - Puppet::Type::Nova_network.new(net_attrs) - end - - let :provider do - provider_class.new(resource) - end - - shared_examples 'nova_network' do - describe '#exists?' do - it 'should check non-existing network' do - provider.expects(:auth_nova).with("network-list") - .returns('"+--------------------------------------+-------------+-------------+\n| ID | Label | Cidr |\n+--------------------------------------+-------------+-------------+\n| 703edc62-36ab-4c41-9d73-884b30e9acbd | novanetwork | 10.0.0.0/16 |\n+--------------------------------------+-------------+-------------+\n" -') - expect(provider.exists?).to be_falsey - end - - it 'should check existing network' do - provider.expects(:auth_nova).with("network-list") - .returns('"+--------------------------------------+-------------+-------------+\n| ID | Label | Cidr |\n+--------------------------------------+-------------+-------------+\n| 703edc62-36ab-4c41-9d73-884b30e9acbd | novanetwork | 10.20.0.0/16 |\n+--------------------------------------+-------------+-------------+\n" -') - expect(provider.exists?).to be_truthy - end - end - - describe '#create' do - it 'should create network' do - provider.expects(:auth_nova).with("network-create", ['novanetwork', '--fixed-range-v4', '10.20.0.0/16'] ) - .returns('"+--------------------------------------+-------------+-------------+\n| ID | Label | Cidr |\n+--------------------------------------+-------------+-------------+\n| 703edc62-36ab-4c41-9d73-88sdfsdfsdfsd | nova-network | 10.20.0.0/16 |\n+--------------------------------------+-------------+-------------+\n" -') - provider.create - end - end - - describe '#destroy' do - it 'should destroy network' do - resource[:ensure] = :absent - provider.expects(:auth_nova).with("network-delete", "10.20.0.0/16") - .returns('"+--------------------------------------+-------------+-------------+\n| ID | Label | Cidr |\n+--------------------------------------+-------------+-------------+\n -') - provider.destroy - end - end - end - - it_behaves_like('nova_network') -end diff --git a/spec/unit/type/nova_network_spec.rb b/spec/unit/type/nova_network_spec.rb deleted file mode 100644 index 3d638c62a..000000000 --- a/spec/unit/type/nova_network_spec.rb +++ /dev/null @@ -1,12 +0,0 @@ -# TODO(tobias-urdin): This is deprecated and should be removed in T release. -require 'puppet' -require 'puppet/type/nova_network' -describe 'Puppet::Type.type(:nova_network)' do - it 'should reject an invalid ipv4 CIDR value' do - expect { Puppet::Type.type(:nova_network).new(:network => '192.168.1.0') }.to raise_error(Puppet::Error, /Invalid value/) - expect { Puppet::Type.type(:nova_network).new(:network => '::1/24') }.to raise_error(Puppet::Error, /Invalid value/) - end - it 'should accept a valid ipv4 CIDR value' do - Puppet::Type.type(:nova_network).new(:network => '192.168.1.0/24') - end -end