Bug 1413248

Summary: [Docs][NFV] resource_registry is not documented to include neutron-ovs-dpdk-agent.yaml
Product: Red Hat OpenStack Reporter: Jaison Raju <jraju>
Component: documentationAssignee: Sandra McCann <samccann>
Status: CLOSED CURRENTRELEASE QA Contact: RHOS Documentation Team <rhos-docs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: atelang, dnavale, edannon, fbaudin, jraju, mbabushk, samccann, skramaja, srevivo, vchundur, yrachman
Target Milestone: asyncKeywords: Triaged, ZStream
Target Release: 10.0 (Newton)   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-28 19:22:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jaison Raju 2017-01-14 06:19:30 UTC
Description of problem:
https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/single/network-functions-virtualization-configuration-guide/#configure_ovs_dpdk_in_red_hat_openstack_platform

The 3.1 end section refers that 
-------------------------------------------
The default neutron-ovs-dpdk.yaml values can be overridden in network-environment.yaml file.
-------------------------------------------
The sample yaml file also show this example in 'A.2.1. network-environment.yaml
' .

Although is the default 'environments/neutron-ovs-dpdk.yaml' is not used then we need to add the following resource_registry in network-environment.yaml file:
resource_registry:
  OS::TripleO::Services::ComputeNeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-agent.yaml

Else the following will not be enabled & all configuration in neutron-ovs-dpdk-agent.yaml will not be applied :
neutron::agents::ml2::ovs::enable_dpdk


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

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
Please re-confirm with engineering also .

Comment 2 Vijay Chundury 2017-01-17 10:37:54 UTC
The misunderstanding is that we are not using neutron-ovs-dpdk.yaml..this is not the case.
This The default neutron-ovs-dpdk.yaml values can be overridden in network-environment.yaml file created the confusion.

My suggestion is this line need to be replaced:
The parameters inside the environment file neutron-ovs-dpdk.yaml's has to be overridden to the actual compute-host values.

This will solve the issue.

Comment 3 Yariv 2017-01-19 11:57:08 UTC
(In reply to Jaison Raju from comment #0)
> Description of problem:
> https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/
> single/network-functions-virtualization-configuration-guide/
> #configure_ovs_dpdk_in_red_hat_openstack_platform
> 
> The 3.1 end section refers that 
> -------------------------------------------
> The default neutron-ovs-dpdk.yaml values can be overridden in
> network-environment.yaml file.
> -------------------------------------------
> The sample yaml file also show this example in 'A.2.1.
> network-environment.yaml
> ' .

You are correct, documentation will be updated once we will verify this by deployment, but you have another option:

See A.2.6, for now it is on overclod_deploy.sh
A.2.6. overcloud_deploy.sh

#!/bin/bash

cat >"$HOME/extra_env.yaml"<<EOF
---
parameter_defaults:
    Debug: true
EOF

openstack overcloud deploy --debug \
--templates \
--environment-file "$HOME/extra_env.yaml" \
--libvirt-type kvm \
--ntp-server clock.redhat.com \
-e /home/stack/<relative-directory>/network-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \
--log-file overcloud_install.log &> overcloud_install.log

You are correct

> 
> Although is the default 'environments/neutron-ovs-dpdk.yaml' is not used
> then we need to add the following resource_registry in
> network-environment.yaml file:
> resource_registry:
>   OS::TripleO::Services::ComputeNeutronOvsAgent:
> /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-
> agent.yaml
> 
> Else the following will not be enabled & all configuration in
> neutron-ovs-dpdk-agent.yaml will not be applied :
> neutron::agents::ml2::ovs::enable_dpdk
> 
> 
> Version-Release number of selected component (if applicable):
> RHOS10
> 
> How reproducible:
> 
> 
> Steps to Reproduce:
> 1.
> 2.
> 3.
> 
> Actual results:
> 
> 
> Expected results:
> 
> 
> Additional info:
> Please re-confirm with engineering also .

Comment 4 Deepti Navale 2017-01-23 06:41:32 UTC
Yariv, once this has been tested, can you let me know of the changes that need to be included either to the 'network-environment.yaml' file or the 'openstack overcloud deploy' command in the NFV Config guide.

Comment 5 Deepti Navale 2017-02-28 05:49:17 UTC
Changing assignee to rhos-docs list. Lucy to reassign the bug when there is more to go on.

Comment 6 Yariv 2017-03-14 08:20:53 UTC
Hi Maxim Sandra

Once it is verified we have to update 10.z docs

Comment 7 Maxim Babushkin 2017-03-14 15:38:59 UTC
Hi Sandra,

I have verified the config change.

Please, set the following line to the network-environment.yaml file:

OS::TripleO::Services::ComputeNeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-agent.yaml

And remove the following line from the overcloud_deploy.sh script.

-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \

Thanks,
Maxim.

Comment 8 Saravanan KR 2017-03-15 05:52:19 UTC
(In reply to Maxim Babushkin from comment #7)
> Hi Sandra,
> 
> I have verified the config change.
> 
> Please, set the following line to the network-environment.yaml file:
> 
> OS::TripleO::Services::ComputeNeutronOvsAgent:
> /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-
> agent.yaml
> 
> And remove the following line from the overcloud_deploy.sh script.
> 
> -e
> /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.
> yaml \
> 
> Thanks,
> Maxim.
Maxim, I dont understand the reason for removing the environment file and using it directly, Can you eloborate the reason behind it?

Plese refer to the upstream documentation - http://tripleo.org/advanced_deployment/ovs_dpdk_config.html

Note: It is just a reference, all upstream configuration are not same as OSP10.

Comment 9 Maxim Babushkin 2017-03-27 19:45:13 UTC
Saravanan,

In composable roles mixed environment - dpdk, sriov, we are specifying the features within the network-envirnment as the following.

  OS::TripleO::Services::ComputeNeutronOvsDpdkAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-agent.yaml
  OS::TripleO::Services::NeutronSriovAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-sriov-agent.yaml

I think it might be a good practice to use it in all scenarios in order to keep the same base config for the templates.

Comment 10 Saravanan KR 2017-03-28 05:06:04 UTC
ComputeNeutronOvsDpdkAgent is used for adding a new role specific for DPDK, as per earlier discussion, we are not using a new role. We will use only Compute to enable it with DPDK. Also if you are using ComputeNeutronOvsDpdkAgent, the corresponding roles_data.yaml also should be added. I guess, I have to wait for the documentation draft to conclude on it.

Comment 11 Sandra McCann 2017-03-28 15:52:28 UTC
These are the proposed changes to section 3.1 in the NFV Configuration guide:

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html/network_functions_virtualization_configuration_guide/part-dpdk-configure#configure_ovs_dpdk_in_red_hat_openstack_platform


Step 1b. Set the ComputNeutronOvsAgent to use the neutron-ovs-dpdk-agent.yaml file. Add the following line under resource_registry::

resource_registry:
OS::TripleO::Services::ComputeNeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-agent.yaml

Note: Configure the values in neutron-ovs-dpdk-agent.yaml to match your environment.


....

Step 4. Run the overcloud_deploy.sh script to deploy your overcloud with OVS-DPDK:

# openstack overcloud deploy --templates \
--libvirt-type kvm \
--ntp-server clock.redhat.com \
-e /home/stack/<relative-directory>/network-environment.yaml

The /home/stack/<relative directory>/network-environment.yaml sets the path for the network-environment.yaml file.

I will also update the sample yaml file for ovs-dpdk with the same details.  Let me know if this is correct.

Comment 13 Maxim Babushkin 2017-06-04 06:59:24 UTC
Sandra,

No changes should be made to the above.