diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp index c0552924b..b6bd8df89 100644 --- a/manifests/agents/dhcp.pp +++ b/manifests/agents/dhcp.pp @@ -110,6 +110,10 @@ # can be used to override the reporting interval for the dhcp-agent. # Defaults to $::os_service_default # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# class neutron::agents::dhcp ( $package_ensure = present, $enabled = true, @@ -136,6 +140,7 @@ class neutron::agents::dhcp ( $ovsdb_agent_ssl_cert_file = $::os_service_default, $ovsdb_agent_ssl_ca_file = $::os_service_default, $report_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, ) { include neutron::deps @@ -172,6 +177,7 @@ class neutron::agents::dhcp ( 'DEFAULT/dnsmasq_enable_addr6_list': value => $dnsmasq_enable_addr6_list; 'agent/availability_zone': value => $availability_zone; 'agent/report_interval': value => $report_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; } # DEFAULT/ovs_intergation_bridge was deprecated in favor of diff --git a/manifests/agents/l3.pp b/manifests/agents/l3.pp index 14d47f4d3..c4fc9cd0d 100644 --- a/manifests/agents/l3.pp +++ b/manifests/agents/l3.pp @@ -89,6 +89,10 @@ # can be used to override the reporting interval for l3-agent. # Defaults to $::os_service_default # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# 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. @@ -144,6 +148,7 @@ class neutron::agents::l3 ( $availability_zone = $::os_service_default, $extensions = $::os_service_default, $report_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, $radvd_user = $::os_service_default, $ovs_integration_bridge = $::os_service_default, $network_log_rate_limit = $::os_service_default, @@ -196,6 +201,7 @@ class neutron::agents::l3 ( 'agent/availability_zone': value => $availability_zone; 'agent/extensions': value => join(any2array($extensions), ','); 'agent/report_interval': value => $report_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; '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 c1cee4831..01a5679a2 100644 --- a/manifests/agents/metadata.pp +++ b/manifests/agents/metadata.pp @@ -64,6 +64,10 @@ # can be used to override the reporting interval for the sriov-agent. # Defaults to $::os_service_default # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# # [*purge_config*] # (optional) Whether to set only the specified config options # in the metadata config. @@ -86,6 +90,7 @@ class neutron::agents::metadata ( $nova_client_cert = $::os_service_default, $nova_client_priv_key = $::os_service_default, $report_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, $purge_config = false, ) { @@ -109,6 +114,7 @@ class neutron::agents::metadata ( 'DEFAULT/nova_client_cert': value => $nova_client_cert; 'DEFAULT/nova_client_priv_key': value => $nova_client_priv_key; 'agent/report_interval': value => $report_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; } if ! is_service_default ($metadata_memory_cache_ttl) and ($metadata_memory_cache_ttl) { diff --git a/manifests/agents/metering.pp b/manifests/agents/metering.pp index 8de8afc97..3d76c80fc 100644 --- a/manifests/agents/metering.pp +++ b/manifests/agents/metering.pp @@ -48,6 +48,10 @@ # (optional) Interval between two metering reports. # Defaults to 300. # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# # [*purge_config*] # (optional) Whether to set only the specified config options # in the metering config. @@ -55,15 +59,16 @@ # class neutron::agents::metering ( - $package_ensure = present, - $enabled = true, - $manage_service = true, - $debug = $::os_service_default, - $interface_driver = 'neutron.agent.linux.interface.OVSInterfaceDriver', - $driver = 'neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver', - $measure_interval = $::os_service_default, - $report_interval = $::os_service_default, - $purge_config = false, + $package_ensure = present, + $enabled = true, + $manage_service = true, + $debug = $::os_service_default, + $interface_driver = 'neutron.agent.linux.interface.OVSInterfaceDriver', + $driver = 'neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver', + $measure_interval = $::os_service_default, + $report_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, + $purge_config = false, ) { include neutron::deps @@ -77,11 +82,12 @@ class neutron::agents::metering ( # This only lists config specific to the agent. neutron.conf supplies # the rest. neutron_metering_agent_config { - 'DEFAULT/debug': value => $debug; - 'DEFAULT/interface_driver': value => $interface_driver; - 'DEFAULT/driver': value => $driver; - 'DEFAULT/measure_interval': value => $measure_interval; - 'DEFAULT/report_interval': value => $report_interval; + 'DEFAULT/debug': value => $debug; + 'DEFAULT/interface_driver': value => $interface_driver; + 'DEFAULT/driver': value => $driver; + 'DEFAULT/measure_interval': value => $measure_interval; + 'DEFAULT/report_interval': value => $report_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; } if $::neutron::params::metering_agent_package { diff --git a/manifests/agents/ml2/linuxbridge.pp b/manifests/agents/ml2/linuxbridge.pp index 3fc373b19..b020dd05d 100644 --- a/manifests/agents/ml2/linuxbridge.pp +++ b/manifests/agents/ml2/linuxbridge.pp @@ -44,6 +44,10 @@ # polling for local device changes. # Defaults to 2. # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# # [*l2_population*] # (optional) Extension to use alongside ml2 plugin's l2population # mechanism driver. It enables the plugin to populate VXLAN forwarding table. @@ -68,20 +72,21 @@ # Defaults to false. # class neutron::agents::ml2::linuxbridge ( - $package_ensure = 'present', - $enabled = true, - $manage_service = true, - $tunnel_types = [], - $local_ip = false, - $vxlan_group = $::os_service_default, - $vxlan_ttl = $::os_service_default, - $vxlan_tos = $::os_service_default, - $polling_interval = $::os_service_default, - $l2_population = $::os_service_default, + $package_ensure = 'present', + $enabled = true, + $manage_service = true, + $tunnel_types = [], + $local_ip = false, + $vxlan_group = $::os_service_default, + $vxlan_ttl = $::os_service_default, + $vxlan_tos = $::os_service_default, + $polling_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, + $l2_population = $::os_service_default, $physical_interface_mappings = [], - $bridge_mappings = [], - $firewall_driver = 'iptables', - $purge_config = false, + $bridge_mappings = [], + $firewall_driver = 'iptables', + $purge_config = false, ) { validate_legacy(Array, 'validate_array', $tunnel_types) @@ -137,6 +142,7 @@ class neutron::agents::ml2::linuxbridge ( neutron_agent_linuxbridge { 'agent/polling_interval': value => $polling_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; 'linux_bridge/physical_interface_mappings': value => join($physical_interface_mappings, ','); } diff --git a/manifests/agents/ml2/ovs.pp b/manifests/agents/ml2/ovs.pp index 083af5e17..42f605922 100644 --- a/manifests/agents/ml2/ovs.pp +++ b/manifests/agents/ml2/ovs.pp @@ -93,6 +93,10 @@ # can be used to override the reporting interval for the openvswitch-agent. # Defaults to $::os_service_default # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# # [*l2_population*] # (optional) Extension to use alongside ml2 plugin's l2population # mechanism driver. @@ -245,6 +249,7 @@ class neutron::agents::ml2::ovs ( $vxlan_udp_port = 4789, $polling_interval = $::os_service_default, $report_interval = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, $l2_population = $::os_service_default, $arp_responder = $::os_service_default, $firewall_driver = 'iptables_hybrid', @@ -378,6 +383,7 @@ class neutron::agents::ml2::ovs ( neutron_agent_ovs { 'agent/polling_interval': value => $polling_interval; 'agent/report_interval': value => $report_interval; + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; '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 ca237c2c2..362886f08 100644 --- a/manifests/agents/ml2/sriov.pp +++ b/manifests/agents/ml2/sriov.pp @@ -40,6 +40,10 @@ # interfaces on each agent. # Value should be of type array, Defaults to $::os_service_default # +# [*rpc_response_max_timeout*] +# (Optional) Maximum seconds to wait for a response from an RPC call +# Defaults to: $::os_service_default +# # [*polling_interval*] # (optional) The number of seconds the agent will wait between # polling for local device changes. @@ -93,6 +97,7 @@ class neutron::agents::ml2::sriov ( $enabled = true, $manage_service = true, $physical_device_mappings = $::os_service_default, + $rpc_response_max_timeout = $::os_service_default, $polling_interval = 2, $report_interval = $::os_service_default, $exclude_devices = $::os_service_default, @@ -115,6 +120,7 @@ class neutron::agents::ml2::sriov ( 'sriov_nic/exclude_devices': value => pick(join(any2array($exclude_devices), ','), $::os_service_default); 'sriov_nic/physical_device_mappings': value => pick(join(any2array($physical_device_mappings), ','), $::os_service_default); 'agent/extensions': value => join(any2array($extensions), ','); + 'DEFAULT/rpc_response_max_timeout': value => $rpc_response_max_timeout; 'agent/polling_interval': value => $polling_interval; 'agent/report_interval': value => $report_interval; # As of now security groups are not supported for SR-IOV ports. diff --git a/releasenotes/notes/agent-rpc_response_max_timeout-fbf636fb47193896.yaml b/releasenotes/notes/agent-rpc_response_max_timeout-fbf636fb47193896.yaml new file mode 100644 index 000000000..2a78a846c --- /dev/null +++ b/releasenotes/notes/agent-rpc_response_max_timeout-fbf636fb47193896.yaml @@ -0,0 +1,13 @@ +--- +features: + - | + Now the following classes support the ``rpc_response_max_timeout`` + parameter. + + - ``neutron::agents::dhcp`` + - ``neutron::agents::metadata`` + - ``neutron::agents::metering`` + - ``neutron::agents::l3`` + - ``neutron::agents::ml2::linuxbridge`` + - ``neutron::agents::ml2::ovs`` + - ``neutron::agents::ml2::sriov`` diff --git a/spec/classes/neutron_agents_dhcp_spec.rb b/spec/classes/neutron_agents_dhcp_spec.rb index 941d4bd61..0acdd83c0 100644 --- a/spec/classes/neutron_agents_dhcp_spec.rb +++ b/spec/classes/neutron_agents_dhcp_spec.rb @@ -45,6 +45,7 @@ describe 'neutron::agents::dhcp' do 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('DEFAULT/rpc_response_max_timeout').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 1d15da48e..e6de0a1c6 100644 --- a/spec/classes/neutron_agents_l3_spec.rb +++ b/spec/classes/neutron_agents_l3_spec.rb @@ -45,6 +45,7 @@ describe 'neutron::agents::l3' do 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('DEFAULT/rpc_response_max_timeout').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 b79c85d01..7498de787 100644 --- a/spec/classes/neutron_agents_metadata_spec.rb +++ b/spec/classes/neutron_agents_metadata_spec.rb @@ -59,6 +59,7 @@ describe 'neutron::agents::metadata' do 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 => '') + should contain_neutron_metadata_agent_config('DEFAULT/rpc_response_max_timeout').with(:value => '') end end diff --git a/spec/classes/neutron_agents_metering_spec.rb b/spec/classes/neutron_agents_metering_spec.rb index 1ef61b526..5fbfc9fdc 100644 --- a/spec/classes/neutron_agents_metering_spec.rb +++ b/spec/classes/neutron_agents_metering_spec.rb @@ -60,6 +60,7 @@ describe 'neutron::agents::metering' do should contain_neutron_metering_agent_config('DEFAULT/driver').with_value(p[:driver]); should contain_neutron_metering_agent_config('DEFAULT/measure_interval').with_value(''); should contain_neutron_metering_agent_config('DEFAULT/report_interval').with_value(''); + should contain_neutron_metering_agent_config('DEFAULT/rpc_response_max_timeout').with_value(''); end it 'installs neutron metering agent package' do diff --git a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb index 50475c3a9..372b400a2 100644 --- a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb +++ b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb @@ -33,6 +33,7 @@ describe 'neutron::agents::ml2::linuxbridge' do end it 'configures ml2_conf.ini' do + should contain_neutron_agent_linuxbridge('DEFAULT/rpc_response_max_timeout').with_value('') should contain_neutron_agent_linuxbridge('agent/polling_interval').with_value('') should contain_neutron_agent_linuxbridge('linux_bridge/physical_interface_mappings').with_value(default_params[:physical_interface_mappings].join(',')) should contain_neutron_agent_linuxbridge('linux_bridge/bridge_mappings').with_ensure('absent') diff --git a/spec/classes/neutron_agents_ml2_ovs_spec.rb b/spec/classes/neutron_agents_ml2_ovs_spec.rb index a759c3ae5..321987026 100644 --- a/spec/classes/neutron_agents_ml2_ovs_spec.rb +++ b/spec/classes/neutron_agents_ml2_ovs_spec.rb @@ -42,6 +42,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('DEFAULT/rpc_response_max_timeout').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 c6e49f98b..043d4ac5b 100644 --- a/spec/classes/neutron_agents_ml2_sriov_spec.rb +++ b/spec/classes/neutron_agents_ml2_sriov_spec.rb @@ -39,6 +39,7 @@ describe 'neutron::agents::ml2::sriov' do 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('DEFAULT/rpc_response_max_timeout').with_value('') should contain_neutron_sriov_agent_config('securitygroup/firewall_driver').with_value('noop') end