Bug 1265436 - NeutronL3HA parameter from heat is not getting passed to the neutron puppet module
Summary: NeutronL3HA parameter from heat is not getting passed to the neutron puppet m...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 10.0 (Newton)
Assignee: Jiri Stransky
QA Contact: Shai Revivo
URL:
Whiteboard: n1kv
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-22 23:42 UTC by Shiva Prasad Rao
Modified: 2019-12-16 04:58 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-22 18:03:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Shiva Prasad Rao 2015-09-22 23:42:25 UTC
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:

Comment 4 Mike Burns 2016-04-07 20:50:54 UTC
This bug did not make the OSP 8.0 release.  It is being deferred to OSP 10.

Comment 7 Jiri Stransky 2016-07-20 09:13:29 UTC
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.

Comment 9 Shinobu KINJO 2016-07-20 10:53:39 UTC
If it's already fixed, please specify `Fixed In Version`.

Comment 10 Jiri Stransky 2016-07-20 16:23:59 UTC
> 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

Comment 11 Shinobu KINJO 2016-07-21 00:27:24 UTC
(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

Comment 12 Jiri Stransky 2016-07-22 18:03:20 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.