In Red Hat OpenStack Platform (RHOSP) deployments that use the Modular Layer 2 plug-in with the Open vSwitch (ML2/OVS) mechanism driver, there is currently a known issue where the Orchestration service (heat) parameter, `NeutronL3AgentAvailabilityZone` does not set the relevant Neutron L3 agent parameter correctly.
+
Workaround: use a custom hieradata statement to set this value. In the example that follows, replace `[ROLE]` with the composable role name that is appropriate for your site.
+
.Example
+
----
[ROLE]ExtraConfig:
neutron::agents::l3::availability_zone: role_availability_zone
----
+
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.2/html/advanced_overcloud_customization/assembly_configuration-hooks#proc_puppet-customizing-hieradata-for-roles_configuration-hooks
For more information, see link:[Puppet: Customizing hieradata for roles] in the _Advanced Overcloud Customization_ guide.
DescriptionMarian Krcmarik
2021-07-19 16:20:50 UTC
Description of problem:
If the NeutronL3AgentAvailabilityZone THT paramater is used the specified value of AZ for L3 agent is not being set, instead the default value "nova" is set for Neutron Availability zone of L3 agent.
The similar parameter NeutronDhcpAgentAvailabilityZone works as expected as well as setting it as ExtraConfig parameter for the role works as expected too, for example:
Controller0ExtraConfig:
neutron::agents::l3::availability_zone: az-central
Version-Release number of selected component (if applicable):
How reproducible:
Always
Steps to Reproduce:
1. Use NeutronL3AgentAvailabilityZone parameter for setting AZ of Neutron L3 agent in tripleo heat templates.
Actual results:
The value of "nova" is set as AZ for L3 agent.
Expected results:
The specified value of the parameter should be set as the Neutron AZ for L3 agent.
Additional info:
Comment 2Bernard Cafarelli
2021-07-23 10:24:11 UTC
Confirmed, the parameter is currently ignored, there is a typo in deployment/neutron/neutron-l3-container-puppet.yaml:
-
- if:
- az_unset
- {}
- neutron::agents::l3::availability_zone: {get_param: NeutronL3AgentAvailabilityZone}
if:
- l3_agent_extensions_empty
- {}
- neutron::agents::l3::extensions: {get_param: NeutronL3AgentExtensions}
That second if should not be in same item. This was fixed in the middle of larger commit https://opendev.org/openstack/tripleo-heat-templates/commit/27788212ccaff768fbf192d6a16e478d6bfc75bb in wallaby, so parameter is broken in earlier stable versions.
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 (Moderate: Red Hat OpenStack Platform 16.2 (openstack-tripleo-heat-templates) security update), 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/RHSA-2022:0995
Description of problem: If the NeutronL3AgentAvailabilityZone THT paramater is used the specified value of AZ for L3 agent is not being set, instead the default value "nova" is set for Neutron Availability zone of L3 agent. The similar parameter NeutronDhcpAgentAvailabilityZone works as expected as well as setting it as ExtraConfig parameter for the role works as expected too, for example: Controller0ExtraConfig: neutron::agents::l3::availability_zone: az-central Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Use NeutronL3AgentAvailabilityZone parameter for setting AZ of Neutron L3 agent in tripleo heat templates. Actual results: The value of "nova" is set as AZ for L3 agent. Expected results: The specified value of the parameter should be set as the Neutron AZ for L3 agent. Additional info: