Bug 1733514

Summary: Updating the stack after modifyng the templates not working properly
Product: Red Hat OpenStack Reporter: Miguel Angel Nieto <mnietoji>
Component: openstack-tripleoAssignee: James Slagle <jslagle>
Status: CLOSED NOTABUG QA Contact: Arik Chernetsky <achernet>
Severity: medium Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: aschultz, bcafarel, beagles, bfournie, dsneddon, jlibosva, mburns
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-24 13:00:05 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 Miguel Angel Nieto 2019-07-26 11:00:30 UTC
Description of problem:

I installed the following templates with the script overcloud_deploy.sh
https://gitlab.cee.redhat.com/mnietoji/deployment_templates/tree/master/balance-tcp/ospd-13-vxlan-dpdk-sriov-ctlplane-dataplane-bonding-hybrid_panther08_balance-tcp_lacp_nic_partitioning


then I modify one template replacing
DpdkBondInterfaceOvsOptions: "bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other-config:lacp-fallback-ab=true"
by
DpdkBondInterfaceOvsOptions: "bond_mode=balance-slb"

and executed again overcloud_deploy.sh

checking the parameters, it is properly replaced
(undercloud) [stack@undercloud-0 ~]$ openstack stack environment show overcloud | grep DpdkBondInterfaceOvsOptions
  DpdkBondInterfaceOvsOptions: bond_mode=balance-slb

But if I go to the compute node and check if configuration has changed, I do not see any change
[root@computeovsdpdksriov-0 network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-dpdkbond1 | grep OVS_OPTIONS
OVS_OPTIONS="bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other-config:lacp-fallback-ab=true"

An the running configuration is not ok either

[root@computeovsdpdksriov-0 network-scripts]# ovs-appctl bond/show dpdkbond1
---- dpdkbond1 ----
bond_mode: balance-tcp
bond may use recirculation: yes, Recirc-ID : 1
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 5314 ms
lacp_status: configured
lacp_fallback_ab: true
active slave mac: 92:85:c8:11:8e:d1(dpdk3)

slave dpdk2: enabled
	may_enable: true

slave dpdk3: enabled
	active slave
	may_enable: true










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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Miguel Angel Nieto 2019-07-26 12:42:45 UTC
Updating through this command is not working either. It think it must be related
openstack stack update --existing --parameter DpdkBondInterfaceOvsOptions="bond_mode=active-backup" overcloud

Comment 2 Alex Schultz 2019-07-26 17:07:21 UTC
I do not believe the networking configuration is rerun on updates.  In order to have the network configuration applied on updates, you'd need to specify NetworkDeploymentActions: ['CREATE','UPDATE'], however this could possibly introduce a network interruption if a change will cause interfaces to be bounced.  I'd have to defer to the networking team on the impact of switching the bond mode on a live system.

Comment 3 Miguel Angel Nieto 2019-07-29 07:42:49 UTC
Thanks for the comment.
I tried adding NetworkDeploymentActions: ['CREATE','UPDATE'] to the templates and it updated the config properly.

About the openstack update, should this command update the network config? I tried  it and it didnt work
openstack stack update --existing --parameter DpdkBondInterfaceOvsOptions="bond_mode=active-backup" --parameter NetworkDeploymentActions="['CREATE','UPDATE']" overcloud

Comment 4 Alex Schultz 2019-07-29 13:59:23 UTC
I've never used the --parameter option on stack update. I believe the recommended way is to update the templates and rerun the deployment command.  Going forward the stack will have less and less to do with the actual deployment so it's not a best practice to use the openstack stack commands to update things.

Comment 8 Bob Fournier 2019-09-18 17:44:57 UTC
I agree with Bernard that Comment 3 ("I tried adding NetworkDeploymentActions: ['CREATE','UPDATE'] to the templates and it updated the config properly") indicates that the recommendation to set UPDATE has worked.  This should be set in the template, as was done, not on the the command line.

I recommend closing this.