diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp index 8bd73d33c..3ffe1a968 100644 --- a/manifests/agents/dhcp.pp +++ b/manifests/agents/dhcp.pp @@ -64,6 +64,11 @@ # (optional) Use broadcast in DHCP replies # Defaults to $::os_service_default. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the dhcp config. +# Defaults to false. +# # === Deprecated Parameters # # [*dhcp_delete_namespaces*] @@ -96,6 +101,7 @@ class neutron::agents::dhcp ( $enable_force_metadata = $::os_service_default, $enable_metadata_network = false, $dhcp_broadcast_reply = $::os_service_default, + $purge_config = false, # DEPRECATED PARAMETERS $dhcp_delete_namespaces = $::os_service_default, $dhcp_domain = $::os_service_default, @@ -130,6 +136,10 @@ class neutron::agents::dhcp ( } } + resources { 'neutron_dhcp_agent_config': + purge => $purge_config, + } + # The DHCP agent loads both neutron.ini and its own file. # This only lists config specific to the agent. neutron.ini supplies # the rest. diff --git a/manifests/agents/l3.pp b/manifests/agents/l3.pp index 8fd561459..6387ee855 100644 --- a/manifests/agents/l3.pp +++ b/manifests/agents/l3.pp @@ -90,6 +90,11 @@ # [*allow_automatic_l3agent_failover*] # DEPRECATED: Has no effect in this class. Use the same parameter in neutron::server instead. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the l3 config. +# Defaults to false. +# # === Deprecated Parameters # # [*use_namespaces*] @@ -126,6 +131,7 @@ class neutron::agents::l3 ( $ha_vrrp_auth_password = $::os_service_default, $ha_vrrp_advert_int = '3', $agent_mode = 'legacy', + $purge_config = false, # DEPRECATED PARAMETERS $allow_automatic_l3agent_failover = false, $use_namespaces = $::os_service_default, @@ -150,6 +156,10 @@ class neutron::agents::l3 ( warning('parameter router_delete_namespaces was removed in Mitaka, it does not take any affect') } + resources { 'neutron_l3_agent_config': + purge => $purge_config, + } + if $ha_enabled { neutron_l3_agent_config { 'DEFAULT/ha_vrrp_auth_type': value => $ha_vrrp_auth_type; diff --git a/manifests/agents/lbaas.pp b/manifests/agents/lbaas.pp index 64434ec60..3fe3dc488 100644 --- a/manifests/agents/lbaas.pp +++ b/manifests/agents/lbaas.pp @@ -32,6 +32,11 @@ # Disable this if you are using the puppetlabs-haproxy module # Defaults to true # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the lbaas config. +# Defaults to false. +# # === Deprecated Parameters # # [*use_namespaces*] @@ -49,6 +54,7 @@ class neutron::agents::lbaas ( $device_driver = 'neutron_lbaas.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver', $user_group = $::neutron::params::nobody_user_group, $manage_haproxy_package = true, + $purge_config = false, # DEPRECATED PARAMETERS $use_namespaces = $::os_service_default, ) { @@ -70,6 +76,10 @@ class neutron::agents::lbaas ( } } + resources { 'neutron_lbaas_agent_config': + purge => $purge_config, + } + # The LBaaS agent loads both neutron.ini and its own file. # This only lists config specific to the agent. neutron.ini supplies # the rest. diff --git a/manifests/agents/metadata.pp b/manifests/agents/metadata.pp index 48e934d9f..6b15bfe13 100644 --- a/manifests/agents/metadata.pp +++ b/manifests/agents/metadata.pp @@ -56,6 +56,11 @@ # Set to 0 will cause cache entries to never expire. # Set to $::os_service_default or false to disable cache. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the metadata config. +# Defaults to false. +# # === Deprecated Parameters # [*auth_password*] # (required) The password for the administrative user (Defaults to undef). @@ -91,6 +96,7 @@ class neutron::agents::metadata ( $metadata_memory_cache_ttl = $::os_service_default, $nova_client_cert = $::os_service_default, $nova_client_priv_key = $::os_service_default, + $purge_config = false, # DEPRECATED PARAMETERS $auth_password = undef, $auth_tenant = undef, @@ -129,6 +135,10 @@ class neutron::agents::metadata ( warning('The auth_region parameter is deprecated and was removed in Mitaka release.') } + resources { 'neutron_metadata_agent_config': + purge => $purge_config, + } + neutron_metadata_agent_config { 'DEFAULT/debug': value => $debug; 'DEFAULT/auth_ca_cert': value => $auth_ca_cert; diff --git a/manifests/agents/metering.pp b/manifests/agents/metering.pp index b86751a7c..f84fc9c66 100644 --- a/manifests/agents/metering.pp +++ b/manifests/agents/metering.pp @@ -48,6 +48,11 @@ # (optional) Interval between two metering reports. # Defaults to 300. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the metering config. +# Defaults to false. +# # === Deprecated Parameters # # [*use_namespaces*] @@ -66,6 +71,7 @@ class neutron::agents::metering ( $driver = 'neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver', $measure_interval = $::os_service_default, $report_interval = $::os_service_default, + $purge_config = false, # DEPRECATED PARAMETERS $use_namespaces = $::os_service_default, ) { @@ -75,6 +81,10 @@ class neutron::agents::metering ( Neutron_config<||> ~> Service['neutron-metering-service'] Neutron_metering_agent_config<||> ~> Service['neutron-metering-service'] + resources { 'neutron_metering_agent_config': + purge => $purge_config, + } + # The metering agent loads both neutron.ini and its own file. # This only lists config specific to the agent. neutron.ini supplies # the rest. diff --git a/manifests/agents/ml2/linuxbridge.pp b/manifests/agents/ml2/linuxbridge.pp index d8e2e99f5..63ed8ff06 100644 --- a/manifests/agents/ml2/linuxbridge.pp +++ b/manifests/agents/ml2/linuxbridge.pp @@ -58,6 +58,11 @@ # (optional) Firewall driver for realizing neutron security group function. # Defaults to 'neutron.agent.linux.iptables_firewall.IptablesFirewallDriver'. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the linuxbridge config. +# Defaults to false. +# class neutron::agents::ml2::linuxbridge ( $package_ensure = 'present', $enabled = true, @@ -70,7 +75,8 @@ class neutron::agents::ml2::linuxbridge ( $polling_interval = $::os_service_default, $l2_population = $::os_service_default, $physical_interface_mappings = [], - $firewall_driver = 'neutron.agent.linux.iptables_firewall.IptablesFirewallDriver' + $firewall_driver = 'neutron.agent.linux.iptables_firewall.IptablesFirewallDriver', + $purge_config = false, ) { validate_array($tunnel_types) @@ -80,6 +86,10 @@ class neutron::agents::ml2::linuxbridge ( Neutron_agent_linuxbridge<||> ~> Service['neutron-plugin-linuxbridge-agent'] + resources { 'neutron_agent_linuxbridge': + purge => $purge_config, + } + if ('vxlan' in $tunnel_types) { if ! $local_ip { diff --git a/manifests/agents/ml2/ovs.pp b/manifests/agents/ml2/ovs.pp index b8f4ed8ac..745d9ee47 100644 --- a/manifests/agents/ml2/ovs.pp +++ b/manifests/agents/ml2/ovs.pp @@ -134,6 +134,11 @@ # Allowed values: ovs-ofctl, native # Defaults to $::os_service_default # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the ovs config. +# Defaults to false. +# class neutron::agents::ml2::ovs ( $package_ensure = 'present', $enabled = true, @@ -160,6 +165,7 @@ class neutron::agents::ml2::ovs ( $datapath_type = $::os_service_default, $vhostuser_socket_dir = $::os_service_default, $ovsdb_interface = $::os_service_default, + $purge_config = false, ) { include ::neutron::params @@ -183,6 +189,10 @@ class neutron::agents::ml2::ovs ( Neutron_agent_ovs<||> ~> Service['neutron-ovs-agent-service'] + resources { 'neutron_agent_ovs': + purge => $purge_config, + } + if ($bridge_mappings != []) { # bridge_mappings are used to describe external networks that are # *directly* attached to this machine. diff --git a/manifests/agents/ml2/sriov.pp b/manifests/agents/ml2/sriov.pp index ca32ed858..51d051f12 100644 --- a/manifests/agents/ml2/sriov.pp +++ b/manifests/agents/ml2/sriov.pp @@ -56,6 +56,11 @@ # (optional) Extensions list to use # Defaults to $::os_service_default # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the sriov config. +# Defaults to false. +# class neutron::agents::ml2::sriov ( $package_ensure = 'present', $enabled = true, @@ -64,12 +69,17 @@ class neutron::agents::ml2::sriov ( $polling_interval = 2, $exclude_devices = [], $extensions = $::os_service_default, + $purge_config = false, ) { include ::neutron::params Neutron_sriov_agent_config <||> ~> Service['neutron-sriov-nic-agent-service'] + resources { 'neutron_sriov_agent_config': + purge => $purge_config, + } + neutron_sriov_agent_config { 'sriov_nic/polling_interval': value => $polling_interval; 'sriov_nic/exclude_devices': value => join($exclude_devices, ','); diff --git a/manifests/agents/vpnaas.pp b/manifests/agents/vpnaas.pp index 1dcaa08d5..a00b6f372 100644 --- a/manifests/agents/vpnaas.pp +++ b/manifests/agents/vpnaas.pp @@ -40,6 +40,11 @@ # [*ipsec_status_check_interval*] # (optional) Status check interval. Defaults to $::os_service_default. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the vpnaas config. +# Defaults to false. +# # === Deprecated Parameters # # [*external_network_bridge*] @@ -52,7 +57,8 @@ class neutron::agents::vpnaas ( $vpn_device_driver = 'neutron.services.vpn.device_drivers.ipsec.OpenSwanDriver', $interface_driver = 'neutron.agent.linux.interface.OVSInterfaceDriver', $external_network_bridge = $::os_service_default, - $ipsec_status_check_interval = $::os_service_default + $ipsec_status_check_interval = $::os_service_default, + $purge_config = false, ) { include ::neutron::params @@ -84,6 +90,10 @@ class neutron::agents::vpnaas ( } } + resources { 'neutron_vpnaas_agent_config': + purge => $purge_config, + } + # The VPNaaS agent loads both neutron.ini and its own file. # This only lists config specific to the agent. neutron.ini supplies # the rest. diff --git a/manifests/init.pp b/manifests/init.pp index cbab16e08..b643237fc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -248,6 +248,11 @@ # by the user executing the agent # Defaults to: '$state_path/lock' # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the neutron config. +# Defaults to false. +# # DEPRECATED PARAMETERS # # [*qpid_hostname*] @@ -321,6 +326,7 @@ class neutron ( $log_dir = '/var/log/neutron', $state_path = $::os_service_default, $lock_path = '$state_path/lock', + $purge_config = false, # DEPRECATED PARAMETERS $qpid_hostname = undef, $qpid_port = undef, @@ -383,6 +389,10 @@ class neutron ( # Make sure all services get restarted if neutron-common package is upgraded Package['neutron'] ~> Service<| tag == 'neutron-service' |> + resources { 'neutron_config': + purge => $purge_config, + } + neutron_config { 'DEFAULT/verbose': value => $verbose; 'DEFAULT/debug': value => $debug; diff --git a/manifests/plugins/cisco.pp b/manifests/plugins/cisco.pp index 07c6a8847..4b78573b3 100644 --- a/manifests/plugins/cisco.pp +++ b/manifests/plugins/cisco.pp @@ -81,6 +81,11 @@ # (optional) the ensure state of the package resource # Defaults to 'present' # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the cisco config. +# Defaults to false. +# # Other parameters are currently not used by the plugin and # can be left unchanged, but in grizzly the plugin will fail # to launch if they are not there. The config for Havana will @@ -112,7 +117,8 @@ class neutron::plugins::cisco( $max_port_profiles = '65568', $manager_class = 'neutron.plugins.cisco.segmentation.l2network_vlan_mgr_v2.L2NetworkVLANMgr', $max_networks = '65568', - $package_ensure = 'present' + $package_ensure = 'present', + $purge_config = false, ) { Neutron_plugin_cisco<||> ~> Service['neutron-server'] @@ -161,6 +167,22 @@ class neutron::plugins::cisco( tag => 'openstack', } + # Setting purge for all configs + resources { 'neutron_plugin_cisco': + purge => $purge_config, + } + + resources { 'neutron_plugin_cisco_db_conn': + purge => $purge_config, + } + + resources { 'neutron_plugin_cisco_l2network': + purge => $purge_config, + } + + resources { 'neutron_plugin_cisco_credentials': + purge => $purge_config, + } neutron_plugin_cisco { 'PLUGINS/nexus_plugin' : value => $nexus_plugin; diff --git a/manifests/plugins/midonet.pp b/manifests/plugins/midonet.pp index fce255820..96d554629 100644 --- a/manifests/plugins/midonet.pp +++ b/manifests/plugins/midonet.pp @@ -25,6 +25,11 @@ # Whether 'midonet-db-manage' should run to create and/or syncrhonize the database # with MidoNet specific tables. Defaults to false # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the midonet config. +# Defaults to false. +# # === Examples # # An example call would be: @@ -72,7 +77,8 @@ class neutron::plugins::midonet ( $keystone_username = 'neutron', $keystone_password = $::os_service_default, $keystone_tenant = 'services', - $sync_db = false + $sync_db = false, + $purge_config = false, ) { include ::neutron::params @@ -94,6 +100,10 @@ class neutron::plugins::midonet ( Package['neutron'] -> Neutron_plugin_midonet<||> } + resources { 'neutron_plugin_midonet': + purge => $purge_config, + } + neutron_plugin_midonet { 'MIDONET/midonet_uri': value => "http://${midonet_api_ip}:${midonet_api_port}/midonet-api"; 'MIDONET/username': value => $keystone_username; diff --git a/manifests/plugins/ml2.pp b/manifests/plugins/ml2.pp index 689b9c558..353286928 100644 --- a/manifests/plugins/ml2.pp +++ b/manifests/plugins/ml2.pp @@ -124,6 +124,11 @@ # encapsulated traffic is sent. # Defaults to 0. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the ml2 config. +# Defaults to false. +# class neutron::plugins::ml2 ( $type_drivers = ['local', 'flat', 'vlan', 'gre', 'vxlan'], @@ -142,6 +147,7 @@ class neutron::plugins::ml2 ( $sriov_agent_required = false, $physical_network_mtus = $::os_service_default, $path_mtu = 0, + $purge_config = false, ) { include ::neutron::params @@ -197,6 +203,10 @@ class neutron::plugins::ml2 ( Package['neutron'] -> Neutron_plugin_sriov<||> } + resources { 'neutron_plugin_ml2': + purge => $purge_config, + } + neutron::plugins::ml2::type_driver { $type_drivers: flat_networks => $flat_networks, tunnel_id_ranges => $tunnel_id_ranges, diff --git a/manifests/plugins/nuage.pp b/manifests/plugins/nuage.pp index 9ed703a1a..84ccb6509 100644 --- a/manifests/plugins/nuage.pp +++ b/manifests/plugins/nuage.pp @@ -34,6 +34,10 @@ # (optional) Flag to determine whether to use ssl connection # to connect to VSD. The default is True # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the nuage config. +# Defaults to false. # class neutron::plugins::nuage ( $nuage_net_partition_name, @@ -45,6 +49,7 @@ class neutron::plugins::nuage ( $nuage_cms_id, $nuage_auth_resource = '/me', $nuage_server_ssl = true, + $purge_config = false, ) { include ::neutron::params @@ -83,6 +88,10 @@ class neutron::plugins::nuage ( mode => '0640' } + resources { 'neutron_plugin_nuage': + purge => $purge_config, + } + $nuage_base_uri_base = '/nuage/api' neutron_plugin_nuage { 'RESTPROXY/default_net_partition_name': value => $nuage_net_partition_name; diff --git a/manifests/plugins/nvp.pp b/manifests/plugins/nvp.pp index 6db315526..328a862b1 100644 --- a/manifests/plugins/nvp.pp +++ b/manifests/plugins/nvp.pp @@ -25,13 +25,19 @@ # (optional) Ensure state for package. # Defaults to 'present'. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the nvp config. +# Defaults to false. +# class neutron::plugins::nvp ( $default_tz_uuid, $nvp_controllers, $nvp_user, $nvp_password, $default_l3_gw_service_uuid = $::os_service_default, - $package_ensure = 'present' + $package_ensure = 'present', + $purge_config = false, ) { include ::neutron::params @@ -48,6 +54,10 @@ class neutron::plugins::nvp ( validate_array($nvp_controllers) + resources { 'neutron_plugin_nvp': + purge => $purge_config, + } + neutron_plugin_nvp { 'DEFAULT/default_tz_uuid': value => $default_tz_uuid; 'DEFAULT/nvp_controllers': value => join($nvp_controllers, ','); diff --git a/manifests/plugins/opencontrail.pp b/manifests/plugins/opencontrail.pp index 47d949032..45c849452 100644 --- a/manifests/plugins/opencontrail.pp +++ b/manifests/plugins/opencontrail.pp @@ -47,6 +47,11 @@ # (optional) Ensure state for package. # Defaults to 'present'. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the opencontrail config. +# Defaults to false. +# class neutron::plugins::opencontrail ( $api_server_ip = $::os_service_default, $api_server_port = $::os_service_default, @@ -58,6 +63,7 @@ class neutron::plugins::opencontrail ( $keystone_admin_password = $::os_service_default, $keystone_admin_token = $::os_service_default, $package_ensure = 'present', + $purge_config = false, ) { include ::neutron::params @@ -105,6 +111,10 @@ class neutron::plugins::opencontrail ( } } + resources { 'neutron_plugin_opencontrail': + purge => $purge_config, + } + neutron_plugin_opencontrail { 'APISERVER/api_server_ip': value => $api_server_ip; 'APISERVER/api_server_port': value => $api_server_port; diff --git a/manifests/plugins/plumgrid.pp b/manifests/plugins/plumgrid.pp index e713bd135..ed769d0ec 100644 --- a/manifests/plugins/plumgrid.pp +++ b/manifests/plugins/plumgrid.pp @@ -78,6 +78,11 @@ # (optional) Ensure state for plugin package. # Defaults to 'present'. # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the plumgrid config. +# Defaults to false. +# class neutron::plugins::plumgrid ( $director_server = '127.0.0.1', $director_server_port = '443', @@ -97,7 +102,8 @@ class neutron::plugins::plumgrid ( $l2gateway_sw_username = $::os_service_default, $l2gateway_sw_password = $::os_service_default, $plumlib_package_ensure = 'present', - $package_ensure = 'present' + $package_ensure = 'present', + $purge_config = false, ) { include ::neutron::params @@ -151,6 +157,14 @@ class neutron::plugins::plumgrid ( } } + resources { 'neutron_plugin_plumgrid': + purge => $purge_config, + } + + resources { 'neutron_plumlib_plumgrid': + purge => $purge_config, + } + neutron_plugin_plumgrid { 'PLUMgridDirector/director_server': value => $director_server; 'PLUMgridDirector/director_server_port': value => $director_server_port; diff --git a/manifests/services/fwaas.pp b/manifests/services/fwaas.pp index c87b9c1f7..92772d07a 100644 --- a/manifests/services/fwaas.pp +++ b/manifests/services/fwaas.pp @@ -36,11 +36,17 @@ # true/false # Defaults to false # +# [*purge_config*] +# (optional) Whether to set only the specified config options +# in the fwaas config. +# Defaults to false. +# class neutron::services::fwaas ( $enabled = $::os_service_default, $driver = $::os_service_default, - $vpnaas_agent_package = false + $vpnaas_agent_package = false, + $purge_config = false, ) { include ::neutron::params @@ -73,6 +79,10 @@ class neutron::services::fwaas ( }) } + resources { 'neutron_fwaas_service_config': + purge => $purge_config, + } + neutron_fwaas_service_config { 'fwaas/enabled': value => $enabled; 'fwaas/driver': value => $driver; diff --git a/spec/classes/neutron_agents_dhcp_spec.rb b/spec/classes/neutron_agents_dhcp_spec.rb index 221d162e7..781c0ac0b 100644 --- a/spec/classes/neutron_agents_dhcp_spec.rb +++ b/spec/classes/neutron_agents_dhcp_spec.rb @@ -19,7 +19,8 @@ describe 'neutron::agents::dhcp' do :dhcp_driver => 'neutron.agent.linux.dhcp.Dnsmasq', :root_helper => 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf', :enable_isolated_metadata => false, - :enable_metadata_network => false } + :enable_metadata_network => false, + :purge_config => false } end let :test_facts do @@ -77,6 +78,12 @@ describe 'neutron::agents::dhcp' do is_expected.to contain_service('neutron-dhcp-service').that_subscribes_to('Package[neutron]') end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_dhcp_agent_config').with({ + :purge => false + }) + end + context 'with manage_service as false' do before :each do params.merge!(:manage_service => false) diff --git a/spec/classes/neutron_agents_l3_spec.rb b/spec/classes/neutron_agents_l3_spec.rb index 0911f5268..85a599934 100644 --- a/spec/classes/neutron_agents_l3_spec.rb +++ b/spec/classes/neutron_agents_l3_spec.rb @@ -14,7 +14,8 @@ describe 'neutron::agents::l3' do :ha_enabled => false, :ha_vrrp_auth_type => 'PASS', :ha_vrrp_advert_int => '3', - :agent_mode => 'legacy' } + :agent_mode => 'legacy', + :purge_config => false } end let :test_facts do @@ -49,6 +50,12 @@ describe 'neutron::agents::l3' do is_expected.to contain_neutron_l3_agent_config('DEFAULT/network_device_mtu').with_value('') end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_l3_agent_config').with({ + :purge => false + }) + end + it 'installs neutron l3 agent package' do if platform_params.has_key?(:l3_agent_package) is_expected.to contain_package('neutron-l3').with( diff --git a/spec/classes/neutron_agents_lbaas_spec.rb b/spec/classes/neutron_agents_lbaas_spec.rb index bfc4cc8be..5e4be37d2 100644 --- a/spec/classes/neutron_agents_lbaas_spec.rb +++ b/spec/classes/neutron_agents_lbaas_spec.rb @@ -16,7 +16,8 @@ describe 'neutron::agents::lbaas' do :interface_driver => 'neutron.agent.linux.interface.OVSInterfaceDriver', :device_driver => 'neutron_lbaas.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver', :use_namespaces => nil, - :manage_haproxy_package => true + :manage_haproxy_package => true, + :purge_config => false } end @@ -37,6 +38,12 @@ describe 'neutron::agents::lbaas' do it_configures 'haproxy lbaas_driver' it_configures 'haproxy lbaas_driver without package' + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_lbaas_agent_config').with({ + :purge => false + }) + end + it 'configures lbaas_agent.ini' do is_expected.to contain_neutron_lbaas_agent_config('DEFAULT/debug').with_value(''); is_expected.to contain_neutron_lbaas_agent_config('DEFAULT/interface_driver').with_value(p[:interface_driver]); diff --git a/spec/classes/neutron_agents_metadata_spec.rb b/spec/classes/neutron_agents_metadata_spec.rb index 40d4fa6d0..90c6a3a62 100644 --- a/spec/classes/neutron_agents_metadata_spec.rb +++ b/spec/classes/neutron_agents_metadata_spec.rb @@ -11,6 +11,7 @@ describe 'neutron::agents::metadata' do :debug => false, :enabled => true, :shared_secret => 'metadata-secret', + :purge_config => false, } end @@ -45,6 +46,12 @@ describe 'neutron::agents::metadata' do end end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_metadata_agent_config').with({ + :purge => false + }) + end + it 'configures metadata_agent.ini' do is_expected.to contain_neutron_metadata_agent_config('DEFAULT/debug').with(:value => params[:debug]) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/auth_ca_cert').with(:value => '') diff --git a/spec/classes/neutron_agents_metering_spec.rb b/spec/classes/neutron_agents_metering_spec.rb index 0bd0a8fa9..2605a9588 100644 --- a/spec/classes/neutron_agents_metering_spec.rb +++ b/spec/classes/neutron_agents_metering_spec.rb @@ -39,6 +39,7 @@ describe 'neutron::agents::metering' do :interface_driver => 'neutron.agent.linux.interface.OVSInterfaceDriver', :driver => 'neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver', :use_namespaces => nil, + :purge_config => false, } end @@ -55,6 +56,12 @@ describe 'neutron::agents::metering' do it { is_expected.to contain_class('neutron::params') } + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_metering_agent_config').with({ + :purge => false + }) + end + it 'configures metering_agent.ini' do is_expected.to contain_neutron_metering_agent_config('DEFAULT/debug').with_value(p[:debug]); is_expected.to contain_neutron_metering_agent_config('DEFAULT/interface_driver').with_value(p[:interface_driver]); diff --git a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb index e05d7fefa..3c72a0f77 100644 --- a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb +++ b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb @@ -13,7 +13,8 @@ describe 'neutron::agents::ml2::linuxbridge' do :tunnel_types => [], :local_ip => false, :physical_interface_mappings => [], - :firewall_driver => 'neutron.agent.linux.iptables_firewall.IptablesFirewallDriver' } + :firewall_driver => 'neutron.agent.linux.iptables_firewall.IptablesFirewallDriver', + :purge_config => false,} end let :test_facts do @@ -31,6 +32,12 @@ describe 'neutron::agents::ml2::linuxbridge' do context 'with default parameters' do it { is_expected.to contain_class('neutron::params') } + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_agent_linuxbridge').with({ + :purge => false + }) + end + it 'configures ml2_conf.ini' do is_expected.to contain_neutron_agent_linuxbridge('agent/polling_interval').with_value('') is_expected.to contain_neutron_agent_linuxbridge('linux_bridge/physical_interface_mappings').with_value(default_params[:physical_interface_mappings].join(',')) diff --git a/spec/classes/neutron_agents_ml2_ovs_spec.rb b/spec/classes/neutron_agents_ml2_ovs_spec.rb index 64736e97c..ba441b792 100644 --- a/spec/classes/neutron_agents_ml2_ovs_spec.rb +++ b/spec/classes/neutron_agents_ml2_ovs_spec.rb @@ -18,6 +18,7 @@ describe 'neutron::agents::ml2::ovs' do :drop_flows_on_start => false, :firewall_driver => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver', :manage_vswitch => true, + :purge_config => false, } end @@ -38,6 +39,12 @@ describe 'neutron::agents::ml2::ovs' do it { is_expected.to contain_class('neutron::params') } + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_agent_ovs').with({ + :purge => false + }) + end + it 'configures plugins/ml2/openvswitch_agent.ini' do is_expected.to contain_neutron_agent_ovs('agent/polling_interval').with_value('') is_expected.to contain_neutron_agent_ovs('agent/l2_population').with_value('') diff --git a/spec/classes/neutron_agents_ml2_sriov_spec.rb b/spec/classes/neutron_agents_ml2_sriov_spec.rb index d5e80be69..a2710155d 100644 --- a/spec/classes/neutron_agents_ml2_sriov_spec.rb +++ b/spec/classes/neutron_agents_ml2_sriov_spec.rb @@ -14,6 +14,7 @@ describe 'neutron::agents::ml2::sriov' do :exclude_devices => [], :polling_interval => 2, :supported_pci_vendor_devs => [], + :purge_config => false, } end @@ -34,6 +35,12 @@ describe 'neutron::agents::ml2::sriov' do it { is_expected.to contain_class('neutron::params') } + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_sriov_agent_config').with({ + :purge => false + }) + end + it 'configures /etc/neutron/plugins/ml2/sriov_agent.ini' do is_expected.to contain_neutron_sriov_agent_config('sriov_nic/polling_interval').with_value(p[:polling_interval]) is_expected.to contain_neutron_sriov_agent_config('sriov_nic/exclude_devices').with_value(p[:exclude_devices].join(',')) diff --git a/spec/classes/neutron_agents_vpnaas_spec.rb b/spec/classes/neutron_agents_vpnaas_spec.rb index bf99c0e92..5a2970a8e 100644 --- a/spec/classes/neutron_agents_vpnaas_spec.rb +++ b/spec/classes/neutron_agents_vpnaas_spec.rb @@ -35,6 +35,7 @@ describe 'neutron::agents::vpnaas' do :enabled => true, :vpn_device_driver => 'neutron.services.vpn.device_drivers.ipsec.OpenSwanDriver', :interface_driver => 'neutron.agent.linux.interface.OVSInterfaceDriver', + :purge_config => false, } end @@ -53,6 +54,12 @@ describe 'neutron::agents::vpnaas' do it_configures 'openswan vpnaas_driver' + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_vpnaas_agent_config').with({ + :purge => false + }) + end + it 'configures vpnaas_agent.ini' do is_expected.to contain_neutron_vpnaas_agent_config('vpnagent/vpn_device_driver').with_value(p[:vpn_device_driver]); is_expected.to contain_neutron_vpnaas_agent_config('ipsec/ipsec_status_check_interval').with_value(''); diff --git a/spec/classes/neutron_init_spec.rb b/spec/classes/neutron_init_spec.rb index c57f4e8d7..5752bdd81 100644 --- a/spec/classes/neutron_init_spec.rb +++ b/spec/classes/neutron_init_spec.rb @@ -12,6 +12,7 @@ describe 'neutron' do :rabbit_user => 'guest', :rabbit_password => 'guest', :log_dir => '/var/log/neutron', + :purge_config => false, } end @@ -101,6 +102,12 @@ describe 'neutron' do ) end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_config').with({ + :purge => false + }) + end + it 'configures credentials for rabbit' do is_expected.to contain_neutron_config('oslo_messaging_rabbit/rabbit_userid').with_value( params[:rabbit_user] ) is_expected.to contain_neutron_config('oslo_messaging_rabbit/rabbit_password').with_value( params[:rabbit_password] ) diff --git a/spec/classes/neutron_plugins_cisco_spec.rb b/spec/classes/neutron_plugins_cisco_spec.rb index ed31f8b8c..f2087e42a 100644 --- a/spec/classes/neutron_plugins_cisco_spec.rb +++ b/spec/classes/neutron_plugins_cisco_spec.rb @@ -29,7 +29,8 @@ describe 'neutron::plugins::cisco' do :max_ports => '100', :max_port_profiles => '65568', :max_networks => '65568', - :manager_class => 'neutron.plugins.cisco.segmentation.l2network_vlan_mgr_v2.L2NetworkVLANMgr' + :manager_class => 'neutron.plugins.cisco.segmentation.l2network_vlan_mgr_v2.L2NetworkVLANMgr', + :purge_config => false, } end @@ -71,6 +72,30 @@ describe 'neutron::plugins::cisco' do ) end + it 'passes purge to resource plugin_cisco' do + is_expected.to contain_resources('neutron_plugin_cisco').with({ + :purge => false + }) + end + + it 'passes purge to resource cisco_db_conn' do + is_expected.to contain_resources('neutron_plugin_cisco_db_conn').with({ + :purge => false + }) + end + + it 'passes purge to resource cisco_l2network' do + is_expected.to contain_resources('neutron_plugin_cisco_l2network').with({ + :purge => false + }) + end + + it 'passes purge to resource cisco_credentials' do + is_expected.to contain_resources('neutron_plugin_cisco_credentials').with({ + :purge => false + }) + end + it 'should perform default l2 configuration' do is_expected.to contain_neutron_plugin_cisco_l2network('VLANS/vlan_start').\ with_value(params[:vlan_start]) diff --git a/spec/classes/neutron_plugins_midonet_spec.rb b/spec/classes/neutron_plugins_midonet_spec.rb index 347c51deb..fe2fdbe8a 100644 --- a/spec/classes/neutron_plugins_midonet_spec.rb +++ b/spec/classes/neutron_plugins_midonet_spec.rb @@ -14,7 +14,8 @@ describe 'neutron::plugins::midonet' do :midonet_api_port => '8080', :keystone_username => 'neutron', :keystone_password => 'test_midonet', - :keystone_tenant => 'services' + :keystone_tenant => 'services', + :purge_config => false, } end @@ -41,6 +42,12 @@ describe 'neutron::plugins::midonet' do :require => 'Package[python-neutron-plugin-midonet]') end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_plugin_midonet').with({ + :purge => false + }) + end + it 'should perform default configuration of' do midonet_uri = "http://" + params[:midonet_api_ip] + ":" + params[:midonet_api_port] + "/midonet-api"; is_expected.to contain_neutron_plugin_midonet('MIDONET/midonet_uri').with_value(midonet_uri) diff --git a/spec/classes/neutron_plugins_ml2_spec.rb b/spec/classes/neutron_plugins_ml2_spec.rb index 03f05acdd..cf190577c 100644 --- a/spec/classes/neutron_plugins_ml2_spec.rb +++ b/spec/classes/neutron_plugins_ml2_spec.rb @@ -39,7 +39,8 @@ describe 'neutron::plugins::ml2' do :vni_ranges => '10:100', :path_mtu => '0', :physical_network_mtus => '', - :package_ensure => 'present' } + :package_ensure => 'present', + :purge_config => false, } end let :test_facts do @@ -63,6 +64,12 @@ describe 'neutron::plugins::ml2' do is_expected.to contain_neutron_config('DEFAULT/core_plugin').with_value('neutron.plugins.ml2.plugin.Ml2Plugin') end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_plugin_ml2').with({ + :purge => false + }) + end + it 'configures ml2_conf.ini' do is_expected.to contain_neutron_plugin_ml2('ml2/type_drivers').with_value(p[:type_drivers].join(',')) is_expected.to contain_neutron_plugin_ml2('ml2/tenant_network_types').with_value(p[:tenant_network_types].join(',')) diff --git a/spec/classes/neutron_plugins_nuage_spec.rb b/spec/classes/neutron_plugins_nuage_spec.rb index 8d38c3fbe..2df00f536 100644 --- a/spec/classes/neutron_plugins_nuage_spec.rb +++ b/spec/classes/neutron_plugins_nuage_spec.rb @@ -23,7 +23,8 @@ describe 'neutron::plugins::nuage' do :nuage_vsd_organization => 'vsd', :nuage_net_partition_name => 'test', :nuage_base_uri_version => 'v3.0', - :nuage_cms_id => '7488fae2-7e51-11e5-8bcf-feff819cdc9f'} + :nuage_cms_id => '7488fae2-7e51-11e5-8bcf-feff819cdc9f', + :purge_config => false,} end shared_examples_for 'neutron plugin nuage' do @@ -43,6 +44,12 @@ describe 'neutron::plugins::nuage' do is_expected.to contain_neutron_config('DEFAULT/core_plugin').with_value('neutron.plugins.nuage.plugin.NuagePlugin') end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_plugin_nuage').with({ + :purge => false + }) + end + it 'should configure plugin.ini' do is_expected.to contain_neutron_plugin_nuage('RESTPROXY/default_net_partition_name').with_value(params[:nuage_net_partition_name]) is_expected.to contain_neutron_plugin_nuage('RESTPROXY/server').with_value(params[:nuage_vsd_ip]) diff --git a/spec/classes/neutron_plugins_nvp_spec.rb b/spec/classes/neutron_plugins_nvp_spec.rb index af46dee76..fe9759f16 100644 --- a/spec/classes/neutron_plugins_nvp_spec.rb +++ b/spec/classes/neutron_plugins_nvp_spec.rb @@ -11,7 +11,8 @@ describe 'neutron::plugins::nvp' do let :default_params do { :metadata_mode => 'access_network', - :package_ensure => 'present'} + :package_ensure => 'present', + :purge_config => false,} end let :test_facts do @@ -59,6 +60,12 @@ describe 'neutron::plugins::nvp' do ) end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_plugin_nvp').with({ + :purge => false + }) + end + it 'should configure nvp.ini' do is_expected.to contain_neutron_plugin_nvp('DEFAULT/default_tz_uuid').with_value(p[:default_tz_uuid]) is_expected.to contain_neutron_plugin_nvp('nvp/metadata_mode').with_value(p[:metadata_mode]) diff --git a/spec/classes/neutron_plugins_opencontrail_spec.rb b/spec/classes/neutron_plugins_opencontrail_spec.rb index e453b32ba..7ed5ef256 100644 --- a/spec/classes/neutron_plugins_opencontrail_spec.rb +++ b/spec/classes/neutron_plugins_opencontrail_spec.rb @@ -16,7 +16,8 @@ describe 'neutron::plugins::opencontrail' do :keystone_admin_user => 'admin', :keystone_admin_tenant_name => 'admin', :keystone_admin_password => 'admin', - :keystone_admin_token => 'token1' + :keystone_admin_token => 'token1', + :purge_config => false, } end @@ -36,6 +37,12 @@ describe 'neutron::plugins::opencontrail' do params.merge!(default_params) end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_plugin_opencontrail').with({ + :purge => false + }) + end + it 'should perform default configuration of' do is_expected.to contain_neutron_plugin_opencontrail('APISERVER/api_server_ip').with_value(params[:api_server_ip]) is_expected.to contain_neutron_plugin_opencontrail('APISERVER/api_server_port').with_value(params[:api_server_port]) diff --git a/spec/classes/neutron_plugins_plumgrid_spec.rb b/spec/classes/neutron_plugins_plumgrid_spec.rb index 63976f44e..92e27c013 100644 --- a/spec/classes/neutron_plugins_plumgrid_spec.rb +++ b/spec/classes/neutron_plugins_plumgrid_spec.rb @@ -19,6 +19,7 @@ describe 'neutron::plugins::plumgrid' do :nova_metadata_ip => '127.0.0.1', :nova_metadata_port => '8775', :connector_type => 'distributed', + :purge_config => false, } end @@ -50,6 +51,18 @@ describe 'neutron::plugins::plumgrid' do ) end + it 'passes purge to resource plugin_plumgrid' do + is_expected.to contain_resources('neutron_plugin_plumgrid').with({ + :purge => false + }) + end + + it 'passes purge to resource plumlib_plumgrid' do + is_expected.to contain_resources('neutron_plumlib_plumgrid').with({ + :purge => false + }) + end + it 'should perform default configuration of plumgrid plugin' do is_expected.to contain_neutron_plugin_plumgrid('PLUMgridDirector/director_server').with_value(params[:director_server]) is_expected.to contain_neutron_plugin_plumgrid('PLUMgridDirector/director_server_port').with_value(params[:director_server_port]) diff --git a/spec/classes/neutron_services_fwaas_spec.rb b/spec/classes/neutron_services_fwaas_spec.rb index c876729f2..654ee67e3 100644 --- a/spec/classes/neutron_services_fwaas_spec.rb +++ b/spec/classes/neutron_services_fwaas_spec.rb @@ -37,7 +37,8 @@ describe 'neutron::services::fwaas' do end let :default_params do - { :vpnaas_agent_package => false } + { :vpnaas_agent_package => false, + :purge_config => false, } end shared_examples_for 'neutron fwaas service plugin' do @@ -45,6 +46,12 @@ describe 'neutron::services::fwaas' do default_params.merge(params) end + it 'passes purge to resource' do + is_expected.to contain_resources('neutron_fwaas_service_config').with({ + :purge => false + }) + end + it 'configures driver in fwaas_driver.ini' do is_expected.to contain_neutron_fwaas_service_config('fwaas/driver').with_value('') is_expected.to contain_neutron_fwaas_service_config('fwaas/enabled').with_value('')