Bug 1258795 - [Docs] [Director] NeutronExternalBridgeConfiguration parsed as a dict, however, heat expects string
Summary: [Docs] [Director] NeutronExternalBridgeConfiguration parsed as a dict, howeve...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: documentation
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: y1
: 7.0 (Kilo)
Assignee: Dan Macpherson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-01 10:10 UTC by Pawel Koniszewski
Modified: 2015-10-12 04:14 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-10-12 04:14:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Pawel Koniszewski 2015-09-01 10:10:32 UTC
Description of problem:
I'm trying to deploy setup with Neutron configured with vxlans. Documentation says that I should provide NeutronExternalBridgeConfiguration: # Set to "br-ex" if using floating IPs on native VLAN on bridge br-ex

So when I set this parameter in network-environment.yaml to:
NeutronExternalNetworkBridge: 
  default: "br-ex"
  type: string
heat fails with an error that NeutronExternalNetworkBridge should be a string. 

This is what Heat received:
"NeutronExternalNetworkBridge": "{u'default': u'br-ex', u'type': u'string'}"

And this is what Heat expects:
"NeutronExternalNetworkBridge": "br-ex"

To workaround this issue I've added:
'NeutronExternalNetworkBridge': 'br-ex',
to dict of parameters in overcloud_deploy.py.

How reproducible:
100%

Steps to Reproduce:
1. Add 
NeutronExternalNetworkBridge:
  default: "br-ex"
  type: string
To network-environment.yaml
2. Try to deploy overcloud with vxlans

Actual results:
Stack create failed, controllers failed to deploy.

Expected results:
Stack deployed successfully with network configured on br-ex

Comment 3 chris alfonso 2015-09-02 16:11:36 UTC
That is an illegal value you provided. The workaround you provided is the actual correct thing to do.

Comment 4 Pawel Koniszewski 2015-09-02 16:40:23 UTC
Chris, I'm sure that there is a bug somewhere basing on documentation (section 6.2.5.2):

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/7/html/Director_Installation_and_Usage/sect-Scenario_2_Using_the_CLI_to_Create_a_Basic_Overcloud.html#sect-Isolating_the_External_Network

It says that default value for NeutronExternalNetworkBridge is:

NeutronExternalNetworkBridge: default: "''"

however it is not a legal value. It also says that it can be changed to:

NeutronExternalNetworkBridge: default: "br-ex"

and it is even worse. Correct value is:

NeutronExternalNetworkBridge:
  default: "br-ex"
  type: string

but the way it is parsed is wrong. Are you saying that user should MANUALLY edit overcloud_deploy.py to configure network on br-ex?

Marking back as a new bug as I don't understand explanation.

Comment 5 Zane Bitter 2015-09-02 17:21:27 UTC
That looks like a docs bug. The format you're trying to use is the way to specify the parameter schema in a template, but the environment only includes parameter *values*. Likely the error crept in while copying and pasting from one to the other. The docs should say:

    NeutronExternalNetworkBridge: "''"

Comment 7 Dan Sneddon 2015-09-02 17:34:20 UTC
(In reply to Pawel Koniszewski from comment #4)

Pawel,

You are correct, the documentation is incorrect. As mentioned, this should work:

parameter_defaults:
  NeutronExternalNetworkBridge: "''"

I will work with the documentation team to get this corrected as soon as possible. Thanks for catching that and reporting the bug.

Comment 8 Pawel Koniszewski 2015-09-03 06:14:53 UTC
Thanks for the explanation, I will give it a shot.

Comment 9 Andrew Dahms 2015-09-03 06:40:10 UTC
Assigning to Dan for review.

Comment 12 Dan Macpherson 2015-09-09 01:48:07 UTC
I've pushed an update to the documentation with that changes the syntax of NeutronExternalNetworkBridge. The format is now just:

  # Set to "br-ex" if using floating IPs on native VLAN on bridge br-ex
  NeutronExternalNetworkBridge: "''"

This bug is also related: https://bugzilla.redhat.com/show_bug.cgi?id=1252433

Here are the links for both the Basic and Advanced Scenarios:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/7/html/Director_Installation_and_Usage/sect-Scenario_2_Using_the_CLI_to_Create_a_Basic_Overcloud.html#sect-Isolating_the_External_Network

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/7/html/Director_Installation_and_Usage/sect-Advanced-Scenario_3_Using_the_CLI_to_Create_an_Advanced_Overcloud_with_Ceph_Nodes.html#sect-Advanced-Isolating_all_Networks_into_VLANs

Pawel -- Does this fix correct the issues you're facing? Is there any further change required?

Comment 13 Dan Macpherson 2015-10-12 04:14:40 UTC
No feedback for a month. Closing this bug.


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