Bug 1730689

Summary: [OSP15] Deployment failing due to discrepancy between OVS TripleO param types and puppet expected types
Product: Red Hat OpenStack Reporter: Vadim Khitrin <vkhitrin>
Component: openstack-tripleo-heat-templatesAssignee: RHOS Maint <rhos-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Vadim Khitrin <vkhitrin>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 15.0 (Stein)CC: cfontain, emacchi, fbaudin, hakhande, mburns, rheslop, rhos-maint, skramaja, supadhya, yrachman
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Release Note
Doc Text:
There is a known issue wherein deployments will fail with the following message. `puppet-user: Error: Parameter value failed on Vs_config[other_config:n-revalidator-threads]: Invalid external_ids 1. Requires a String, not a Integer` This is due to tripleo parameters of type integer being expected by puppet to be of type string. To work around, include the following in deployment templates: ComputeOvsDpdkSriovExtraConfig: "vswitch::dpdk::handler_cores": "1" "vswitch::dpdk::revalidator_cores": "1"
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-03 19:48:29 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 Vadim Khitrin 2019-07-17 11:16:34 UTC
Description of problem:
Two additional OVS parameters were introduced in OSP15: ‘OvsRevalidatorCores’ and ‘OvsHandlerCores’.

These TripleO parameters are of ‘number’ type and are set by default to 1 (defined in  /usr/share/openstack-tripleo-heat-templates/puppet/services/openvswitch.yaml).

Puppet vswitch module expects the hieradata generated by TripleO params to be of type ‘string’.

The following error will be raised as part of openstack overcloud failures:
"<13>Jul 17 09:38:50 puppet-user: Error: Parameter value failed on Vs_config[other_config:n-revalidator-threads]: Invalid external_ids 1. Requires a String, not a Integer (file: /etc/puppet/modules/vswitch/manifests/dpdk.pp, line: 120)",


Version-Release number of selected component (if applicable):
Compose: RHOS_TRUNK-15.0-RHEL-8-20190714.n.0
rpm -qa | grep tripleo-heat
openstack-tripleo-heat-templates-10.6.1-0.20190713150434.2871ce0.el8ost.noarch

How reproducible:
Always

Steps to Reproduce:
1. Attempt to deploy OSP15 with OVS

Actual results:
Deployment fails

Expected results:
Deployment passes

Additional info:

Comment 1 Vadim Khitrin 2019-07-17 15:09:54 UTC
Workaround for now is to include ExtraConfig, for example my Compute role is ‘ComputeOvsDpdkSriov’, I added the following parameter to deployment templates:
ComputeOvsDpdkSriovExtraConfig:
  "vswitch::dpdk::handler_cores": "1"
  "vswitch::dpdk::revalidator_cores": "1"

Comment 10 Shelley Dunne 2019-09-19 18:29:42 UTC
Re-setting Target Milestone z1 to --- to begin the 15z1 Maintenance Release.

Comment 12 Sanjay Upadhyay 2019-10-31 14:01:00 UTC
Vadim can you update the status and maybe see if this can be closed.