Description of problem: NeutronL3HA parameter from heat is getting passed as a string but the neutron puppet module expects a boolean. Thus the l3_ha value is always set to true on overcloud and the value entered through heat templates is not honoured Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1.deploy overcloud with NeutronL3HA set to false 2. 3. Actual results: l3_ha variable in neutron.conf on overcloud is set to true Expected results: l3_ha variable in neutron.conf on overcloud should be set to false if NeutronL3HA is set to false in heat Additional info:
This bug did not make the OSP 8.0 release. It is being deferred to OSP 10.
I think this should already be correctly wired through already in OSP 8, via this patch: https://github.com/openstack/tripleo-heat-templates/commit/fed9d001ccc92a6d3392cb959416596b6df83d99 The confusion may come from the fact that tripleoclient automatically selects the default for NeutronL3HA based on whether the deployment has more than one controller: https://github.com/openstack/python-tripleoclient/blob/06325dea70f43acc37b9a7d93380ef88f02efce7/tripleoclient/v1/overcloud_deploy.py#L178-L194 Try `heat stack-show overcloud | grep L3HA` on the deployment in question, you might see probably see that the parameter is in fact set to True on the Heat stack. It should be possible to override parameter values generated by tripleoclient by passing an extra environment file to `openstack overcloud deploy` command with custom parameter values in parameter_defaults section of the environment file.
If it's already fixed, please specify `Fixed In Version`.
> NeutronL3HA: > default: 'False' > description: Whether to enable l3-agent HA > > in: > > /usr/share/openstack-tripleo-heat-templates/overcloud.yaml The default from t-h-t doesn't get utilized because tripleoclient will feed its own default, which is higher priority than the one in tripleo-heat-templates. As i wrote in #7, tripleoclient decides the value in a smarter way based on how many controllers are being deployed, this is the expected behavior of OSP-d. Please use the environment file method i mentioned earlier, if there's desire to override the value that tripleoclient selected. > If it's already fixed, please specify `Fixed In Version`. I think what we've discussed so far is the expected behavior. If we discover that setting NeutronL3HA via environment files doesn't work either, please follow up and we can look into the issue further. You mentioned the env is OSP 8, where such env file should do the job i think: parameter_defaults: NeutronL3HA: False
(In reply to Jiri Stransky from comment #10) > > NeutronL3HA: > > default: 'False' > > description: Whether to enable l3-agent HA > > > > in: > > > > /usr/share/openstack-tripleo-heat-templates/overcloud.yaml > > The default from t-h-t doesn't get utilized because tripleoclient will feed > its own default, which is higher priority than the one in > tripleo-heat-templates. As i wrote in #7, tripleoclient decides the value in > a smarter way based on how many controllers are being deployed, this is the > expected behavior of OSP-d. Please use the environment file method i > mentioned earlier, if there's desire to override the value that > tripleoclient selected. > > > If it's already fixed, please specify `Fixed In Version`. > > I think what we've discussed so far is the expected behavior. If we discover > that setting NeutronL3HA via environment files doesn't work either, please > follow up and we can look into the issue further. > > > You mentioned the env is OSP 8, where such env file should do the job i > think: > > parameter_defaults: I double-checked this logic. It would work as you mentioned. > NeutronL3HA: False
Thanks for the verification. I'm closing this as not a bug then (OSPd behaves as expected in this sense), please feel free to reopen in case there's some problem with the environment file solution.