Bug 1379152 - Fix OpendaylightApiNetwork key naming
Summary: Fix OpendaylightApiNetwork key naming
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 10.0 (Newton)
Assignee: Tim Rozet
QA Contact: Itzik Brown
Depends On:
Blocks: 1258832
TreeView+ depends on / blocked
Reported: 2016-09-25 12:53 UTC by Itzik Brown
Modified: 2018-10-18 07:24 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2016-12-14 16:04:59 UTC
Target Upstream Version:
trozet: needinfo-

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:2948 normal SHIPPED_LIVE Red Hat OpenStack Platform 10 enhancement update 2016-12-14 19:55:27 UTC
OpenStack gerrit 382926 None None None 2016-10-06 14:06:13 UTC

Description Itzik Brown 2016-09-25 12:53:53 UTC
Description of problem:
When deploying OSPD with the following parameters the deployment fails.

Error: Could not find data item opendaylight_api_node_ips in any Hiera data file and no default supplied at /etc/puppet/modules/tripleo/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp:45 on node compute-0.localdomain

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

Actual results:

Expected results:

Additional info:

The deployment execution:

openstack overcloud deploy --debug \
--templates \
--libvirt-type kvm \
--ntp-server clock.redhat.com \
--neutron-network-type vxlan \
--neutron-tunnel-types vxlan \
--control-scale 1 \
--control-flavor controller-d75f3dec-c770-5f88-9d4c-3fea1bf9c484 \--compute-scale 1 \
--compute-flavor compute-b634c10a-570f-59ba-bdbf-0c313d745a10 \--environment-file "/usr/share/openstack-tripleo-heat-templates/environments/services/sahara.yaml" \
-e /home/stack/virt/network/network-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /home/stack/virt/hostnames.yml \
-e /home/stack/virt/debug.yaml \
-e /home/stack/neutron-opendaylight-l3.yaml \
--log-file overcloud_deployment_35.log &> overcloud_install.log

The neutron-opendaylight-l3.yaml file:

  OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
  OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
  OS::TripleO::Services::OpenDaylight: /usr/share/openstack-tripleo-heat-templates/puppet/services/opendaylight-api.yaml
  OS::TripleO::Services::OpenDaylightOvs: /usr/share/openstack-tripleo-heat-templates/puppet/services/opendaylight-ovs.yaml
  OS::TripleO::Services::NeutronL3Agent: OS::Heat::None

  EnableOpenDaylightOnController: true
  NeutronEnableForceMetadata: true
  NeutronMechanismDrivers: 'opendaylight'
  NeutronServicePlugins: "networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin"
  OpenDaylightEnableL3: "'yes'"

Output from heat 'deployment-show'
  "status": "FAILED", 
  "server_id": "60e91b4d-d267-4fe3-8b4b-244f05be5aa1", 
  "config_id": "3a74578f-aab9-49fc-b2b8-16d99a95bab3", 
  "output_values": {
    "deploy_stdout": "", 
    "deploy_stderr": "exception: connect failed\n\u001b[1;31mError: Could not find data item opendaylight_api_node_ips in any Hiera data file and no default supplied at /etc/puppet/modules/tripleo/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp:45 on node compute-0.localdomain\u001b[0m\n\u001b[1;31mError: Could not find data item opendaylight_api_node_ips in any Hiera data file and no default supplied at /etc/puppet/modules/tripleo/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp:45 on node compute-0.localdomain\u001b[0m\n", 
    "deploy_status_code": 1
  "creation_time": "2016-09-25T12:06:30", 
  "updated_time": "2016-09-25T12:07:04", 
  "input_values": {
    "step": 2, 
    "update_identifier": "1474804585"
  "action": "CREATE", 
  "status_reason": "deploy_status_code : Deployment exited with non-zero status code: 1", 
  "id": "08dfb4a8-63a6-4f4f-8f1a-6f77617af1c8"

Comment 1 Tim Rozet 2016-09-30 19:20:43 UTC
After looking at this it looks like <service>_node_ips is now dynamically generated in THT (rather than the previous way declared in overcloud.yaml).  The dynamic substitution is a little hard to follow, but my suspicion is the dynamic parsing is using the actual name of the service when it goes to parse <service name>Network.  In this case the opendaylight service is 'OpenDaylight', but the ODL network is actually 'OpenDaylightApiNetwork'.

Itzik, can you please try chaning 'OpenDaylight' to be 'OpenDaylightApi' making these changes and redeploying?

It needs to be changed in these places:

Comment 2 Tim Rozet 2016-10-03 18:23:44 UTC
Can you also verify that your original test included this patch?

My previous comment may not actually help (except to make things more aligned cosmetically).

Comment 3 Itzik Brown 2016-10-05 06:25:55 UTC
Yes. It includes this patch.

Comment 4 Tim Rozet 2016-10-05 15:48:00 UTC
After talking to Steve Hardy - there is a nuance to how TripleO interprets/translates the service net name into the <service_name>_network that includes splitting camel case with _ and setting to lower case.  The issue was OpenDaylight is a single word with camel case, causing the translation to be:
open_daylight_api_node_ips, rather than opendaylight_api_node_ips.  Steve has uploaded a fix:

I confirmed this works.

Comment 6 Itzik Brown 2016-10-13 12:11:12 UTC
Can you please update the RPM version in 'Fixed in Version' ?


Comment 7 Tim Rozet 2016-10-25 13:44:51 UTC
I'm not sure how to map upstream merged changes into downstream builds.  But it has been some time since this was fixed upstream, it must be in the latest downstream build by now.

Comment 8 Itzik Brown 2016-11-02 13:17:25 UTC
How do you suggest verifying? Make sure that the deployment is done?

Comment 9 Itzik Brown 2016-11-06 10:41:25 UTC
Verified the the code openstack-tripleo-heat-templates-5.0.0-1.2.el7ost.noarch

Comment 13 errata-xmlrpc 2016-12-14 16:04:59 UTC
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, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


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