diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp index b21805056..c0552924b 100644 --- a/manifests/agents/dhcp.pp +++ b/manifests/agents/dhcp.pp @@ -104,6 +104,12 @@ # (optional) The SSL CA cert file to use for Neutron agents to connect to OVSDB # Defaults to $::os_service_default # +# [*report_interval*] +# (optional) Set the agent report interval. By default the global report +# interval in neutron.conf ([agent]/report_interval) is used. This parameter +# can be used to override the reporting interval for the dhcp-agent. +# Defaults to $::os_service_default +# class neutron::agents::dhcp ( $package_ensure = present, $enabled = true, @@ -129,6 +135,7 @@ class neutron::agents::dhcp ( $ovsdb_agent_ssl_key_file = $::os_service_default, $ovsdb_agent_ssl_cert_file = $::os_service_default, $ovsdb_agent_ssl_ca_file = $::os_service_default, + $report_interval = $::os_service_default, ) { include neutron::deps @@ -164,6 +171,7 @@ class neutron::agents::dhcp ( 'DEFAULT/dnsmasq_local_resolv': value => $dnsmasq_local_resolv; 'DEFAULT/dnsmasq_enable_addr6_list': value => $dnsmasq_enable_addr6_list; 'agent/availability_zone': value => $availability_zone; + 'agent/report_interval': value => $report_interval; } # DEFAULT/ovs_intergation_bridge was deprecated in favor of diff --git a/manifests/agents/l3.pp b/manifests/agents/l3.pp index 350a50e97..ea9c0e3f9 100644 --- a/manifests/agents/l3.pp +++ b/manifests/agents/l3.pp @@ -83,6 +83,12 @@ # (optional) List of the L3 agent extensions to enable. # Defaults to $::os_service_default # +# [*report_interval*] +# (optional) Set the agent report interval. By default the global report +# interval in neutron.conf ([agent]/report_interval) is used. This parameter +# can be used to override the reporting interval for l3-agent. +# Defaults to $::os_service_default +# # [*radvd_user*] # (optional) The username passed to radvd, used to drop root privileges and # change user ID to username and group ID to the primary group of username. @@ -137,6 +143,7 @@ class neutron::agents::l3 ( $purge_config = false, $availability_zone = $::os_service_default, $extensions = $::os_service_default, + $report_interval = $::os_service_default, $radvd_user = $::os_service_default, $ovs_integration_bridge = $::os_service_default, $network_log_rate_limit = $::os_service_default, @@ -182,6 +189,7 @@ class neutron::agents::l3 ( 'ovs/integration_bridge': value => $ovs_integration_bridge; 'agent/availability_zone': value => $availability_zone; 'agent/extensions': value => join(any2array($extensions), ','); + 'agent/report_interval': value => $report_interval; 'network_log/rate_limit': value => $network_log_rate_limit; 'network_log/burst_limit': value => $network_log_burst_limit; 'network_log/local_output_log_base': value => $network_log_local_output_log_base; diff --git a/manifests/agents/metadata.pp b/manifests/agents/metadata.pp index 9dfe2128f..c1cee4831 100644 --- a/manifests/agents/metadata.pp +++ b/manifests/agents/metadata.pp @@ -58,6 +58,12 @@ # (optional) Allow to perform insecure SSL (https) requests to nova metadata. # Defaults to $::os_service_default # +# [*report_interval*] +# (optional) Set the agent report interval. By default the global report +# interval in neutron.conf ([agent]/report_interval) is used. This parameter +# can be used to override the reporting interval for the sriov-agent. +# Defaults to $::os_service_default +# # [*purge_config*] # (optional) Whether to set only the specified config options # in the metadata config. @@ -79,6 +85,7 @@ class neutron::agents::metadata ( $metadata_insecure = $::os_service_default, $nova_client_cert = $::os_service_default, $nova_client_priv_key = $::os_service_default, + $report_interval = $::os_service_default, $purge_config = false, ) { @@ -101,6 +108,7 @@ class neutron::agents::metadata ( 'DEFAULT/metadata_backlog': value => $metadata_backlog; 'DEFAULT/nova_client_cert': value => $nova_client_cert; 'DEFAULT/nova_client_priv_key': value => $nova_client_priv_key; + 'agent/report_interval': value => $report_interval; } if ! is_service_default ($metadata_memory_cache_ttl) and ($metadata_memory_cache_ttl) { diff --git a/manifests/agents/ml2/ovs.pp b/manifests/agents/ml2/ovs.pp index 1847d7296..ff8dca631 100644 --- a/manifests/agents/ml2/ovs.pp +++ b/manifests/agents/ml2/ovs.pp @@ -87,6 +87,12 @@ # polling for local device changes. # Defaults to $::os_service_default # +# [*report_interval*] +# (optional) Set the agent report interval. By default the global report +# interval in neutron.conf ([agent]/report_interval) is used. This parameter +# can be used to override the reporting interval for the openvswitch-agent. +# Defaults to $::os_service_default +# # [*l2_population*] # (optional) Extension to use alongside ml2 plugin's l2population # mechanism driver. @@ -238,6 +244,7 @@ class neutron::agents::ml2::ovs ( $tunnel_bridge = 'br-tun', $vxlan_udp_port = 4789, $polling_interval = $::os_service_default, + $report_interval = $::os_service_default, $l2_population = $::os_service_default, $arp_responder = $::os_service_default, $firewall_driver = 'iptables_hybrid', @@ -365,6 +372,7 @@ class neutron::agents::ml2::ovs ( neutron_agent_ovs { 'agent/polling_interval': value => $polling_interval; + 'agent/report_interval': value => $report_interval; 'agent/l2_population': value => $l2_population; 'agent/arp_responder': value => $arp_responder; 'agent/enable_distributed_routing': value => $enable_distributed_routing; diff --git a/manifests/agents/ml2/sriov.pp b/manifests/agents/ml2/sriov.pp index 7c32b660b..ca237c2c2 100644 --- a/manifests/agents/ml2/sriov.pp +++ b/manifests/agents/ml2/sriov.pp @@ -43,7 +43,13 @@ # [*polling_interval*] # (optional) The number of seconds the agent will wait between # polling for local device changes. -# Defaults to '2" +# Defaults to 2 +# +# [*report_interval*] +# (optional) Set the agent report interval. By default the global report +# interval in neutron.conf ([agent]/report_interval) is used. This parameter +# can be used to override the reporting interval for the sriov-agent. +# Defaults to $::os_service_default # # [*exclude_devices*] # (optional) Array of : mapping @@ -88,6 +94,7 @@ class neutron::agents::ml2::sriov ( $manage_service = true, $physical_device_mappings = $::os_service_default, $polling_interval = 2, + $report_interval = $::os_service_default, $exclude_devices = $::os_service_default, $extensions = $::os_service_default, $purge_config = false, @@ -109,6 +116,7 @@ class neutron::agents::ml2::sriov ( 'sriov_nic/physical_device_mappings': value => pick(join(any2array($physical_device_mappings), ','), $::os_service_default); 'agent/extensions': value => join(any2array($extensions), ','); 'agent/polling_interval': value => $polling_interval; + 'agent/report_interval': value => $report_interval; # As of now security groups are not supported for SR-IOV ports. # It is required to disable Firewall driver in the SR-IOV agent config. 'securitygroup/firewall_driver': value => 'noop'; diff --git a/releasenotes/notes/agent-report_interval-edfbb36b2059d558.yaml b/releasenotes/notes/agent-report_interval-edfbb36b2059d558.yaml new file mode 100644 index 000000000..8687ceddc --- /dev/null +++ b/releasenotes/notes/agent-report_interval-edfbb36b2059d558.yaml @@ -0,0 +1,11 @@ +--- +features: + - | + The following classes now support the ``report_interval`` parameter, to + override the report interval of a specific neutron agents. + + - ``neutron::agent::dhcp`` + - ``neutron::agent::metadata`` + - ``neutron::agent::ml2::ovs`` + - ``neutron::agent::ml2::sriov`` + - ``neutron::agent::l3`` diff --git a/spec/classes/neutron_agents_dhcp_spec.rb b/spec/classes/neutron_agents_dhcp_spec.rb index 9d95681fb..941d4bd61 100644 --- a/spec/classes/neutron_agents_dhcp_spec.rb +++ b/spec/classes/neutron_agents_dhcp_spec.rb @@ -44,6 +44,7 @@ describe 'neutron::agents::dhcp' do should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_local_resolv').with_value(''); should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_enable_addr6_list').with_value(''); should contain_neutron_dhcp_agent_config('agent/availability_zone').with_value(''); + should contain_neutron_dhcp_agent_config('agent/report_interval').with_value(''); should contain_neutron_dhcp_agent_config('OVS/ovsdb_connection').with_value(''); should contain_neutron_dhcp_agent_config('OVS/integration_bridge').with_value(''); should contain_neutron_dhcp_agent_config('OVS/ssl_key_file').with_value(''); diff --git a/spec/classes/neutron_agents_l3_spec.rb b/spec/classes/neutron_agents_l3_spec.rb index fcd7dfa78..81a4fc544 100644 --- a/spec/classes/neutron_agents_l3_spec.rb +++ b/spec/classes/neutron_agents_l3_spec.rb @@ -41,6 +41,7 @@ describe 'neutron::agents::l3' do should contain_neutron_l3_agent_config('ovs/integration_bridge').with_value('') should contain_neutron_l3_agent_config('agent/availability_zone').with_value('') should contain_neutron_l3_agent_config('agent/extensions').with_value('') + should contain_neutron_l3_agent_config('agent/report_interval').with_value('') should contain_neutron_l3_agent_config('network_log/rate_limit').with_value('') should contain_neutron_l3_agent_config('network_log/burst_limit').with_value('') should contain_neutron_l3_agent_config('network_log/local_output_log_base').with_value('') diff --git a/spec/classes/neutron_agents_metadata_spec.rb b/spec/classes/neutron_agents_metadata_spec.rb index 15d9c3cce..b79c85d01 100644 --- a/spec/classes/neutron_agents_metadata_spec.rb +++ b/spec/classes/neutron_agents_metadata_spec.rb @@ -58,6 +58,7 @@ describe 'neutron::agents::metadata' do should contain_neutron_metadata_agent_config('DEFAULT/nova_metadata_insecure').with(:value => '') should contain_neutron_metadata_agent_config('DEFAULT/metadata_proxy_shared_secret').with(:value => params[:shared_secret]).with_secret(true) should contain_neutron_metadata_agent_config('DEFAULT/cache_url').with(:ensure => 'absent') + should contain_neutron_metadata_agent_config('agent/report_interval').with(:value => '') end end diff --git a/spec/classes/neutron_agents_ml2_ovs_spec.rb b/spec/classes/neutron_agents_ml2_ovs_spec.rb index c093ab9cf..a759c3ae5 100644 --- a/spec/classes/neutron_agents_ml2_ovs_spec.rb +++ b/spec/classes/neutron_agents_ml2_ovs_spec.rb @@ -41,6 +41,7 @@ describe 'neutron::agents::ml2::ovs' do it 'configures plugins/ml2/openvswitch_agent.ini' do should contain_neutron_agent_ovs('agent/polling_interval').with_value('') + should contain_neutron_agent_ovs('agent/report_interval').with_value('') should contain_neutron_agent_ovs('agent/l2_population').with_value('') should contain_neutron_agent_ovs('agent/arp_responder').with_value('') should contain_neutron_agent_ovs('agent/drop_flows_on_start').with_value(p[:drop_flows_on_start]) diff --git a/spec/classes/neutron_agents_ml2_sriov_spec.rb b/spec/classes/neutron_agents_ml2_sriov_spec.rb index 9463204e0..c6e49f98b 100644 --- a/spec/classes/neutron_agents_ml2_sriov_spec.rb +++ b/spec/classes/neutron_agents_ml2_sriov_spec.rb @@ -38,6 +38,7 @@ describe 'neutron::agents::ml2::sriov' do should contain_neutron_sriov_agent_config('sriov_nic/physical_device_mappings').with_value('') should contain_neutron_sriov_agent_config('agent/extensions').with_value(['']) should contain_neutron_sriov_agent_config('agent/polling_interval').with_value(p[:polling_interval]) + should contain_neutron_sriov_agent_config('agent/report_interval').with_value('') should contain_neutron_sriov_agent_config('securitygroup/firewall_driver').with_value('noop') end