Bug 1946254
| Summary: | [OSP 16.1]puppet-neutron does not support multiple l3 agent extensions as defined in the OOO templates | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Matt Flusche <mflusche> |
| Component: | puppet-neutron | Assignee: | Slawek Kaplonski <skaplons> |
| Status: | CLOSED ERRATA | QA Contact: | Eran Kuris <ekuris> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 16.1 (Train) | CC: | akatz, jjoyce, jschluet, slinaber, tkajinam, tvignaud |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | puppet-neutron-15.5.1-1.20210614113305.7d0406b.el8ost | Doc Type: | No Doc Update |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-12-09 20:18:25 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Since there is a mismatch between interface in tht and one in puppet-neutron, we can not use
the NeutronL3AgentExtensions parameter when we pass multiple extensions, until the fix is merged
into puppet-neutron.
One workaround is to set the parameter directly using ExtraConfig
~~~
parameter_defaults:
ExtraConfig:
neutron::agents::l3::extensions: conntrack_helper,port_forwarding
~~~
Then the value is passed as a raw string and handled correctly by puppet-neutron
~~~
[heat-admin@controller-0 ~]$ cat /etc/rhosp-release
Red Hat OpenStack Platform release 13.0.14 (Queens)
[heat-admin@controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/neutron/etc/neutron/l3_agent.ini agent extensions
conntrack_helper,port_forwarding
~~~
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Red Hat OpenStack Platform 16.1.7 (Train) bug fix and enhancement advisory), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:3762 |
Description of problem: For this OOO config: parameter_defaults: NeutronL3AgentExtensions: 'conntrack_helper,port_forwarding' As defined in THT: From openstack-tripleo-heat-templates/deployment/neutron/neutron-l3-container-puppet.yaml NeutronL3AgentExtensions: default: "" description: | Comma-separated list of extensions enabled for the Neutron L3 agent. type: comma_delimited_list Results in this hiera data: # hiera -c /etc/puppet/hiera.yaml neutron::agents::l3::extensions ["conntrack_helper", "port_forwarding"] However, the resulting config via puppet is: [root@overcloud-controller-0 ~]# crudini --get /var/lib/config-data/puppet-generated/neutron/etc/neutron/l3_agent.ini agent extensions conntrack_helper From the puppet module: /etc/puppet/modules/neutron/manifests/agents/l3.pp # [*extensions*] # (optional) L3 agent extensions to enable. # Defaults to $::os_service_default # ... neutron_l3_agent_config { 'DEFAULT/debug': value => $debug; 'DEFAULT/interface_driver': value => $interface_driver; 'DEFAULT/gateway_external_network_id': value => $gateway_external_network_id; 'DEFAULT/handle_internal_only_routers': value => $handle_internal_only_routers; 'DEFAULT/metadata_port': value => $metadata_port; 'DEFAULT/periodic_interval': value => $periodic_interval; 'DEFAULT/periodic_fuzzy_delay': value => $periodic_fuzzy_delay; 'DEFAULT/enable_metadata_proxy': value => $enable_metadata_proxy; 'DEFAULT/agent_mode': value => $agent_mode; 'DEFAULT/radvd_user': value => $radvd_user; 'agent/availability_zone': value => $availability_zone; 'agent/extensions': value => $extensions; } It seems the puppet module need to handle the array and join it before setting the agent/extensions value. Version-Release number of selected component (if applicable): 16.1 current rpm -q puppet-neutron puppet-neutron-15.5.1-1.20201113235652.el8ost.noarch How reproducible: 100% Steps to Reproduce: 1. see above example Actual results: puppet-neutron only sets l3 agent/extensions to first element in list. Expected results: Comma-separated list of extensions enabled for the Neutron L3 agent