Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1314932

Summary: OSP Update Reverts Linux bonds to OVS Bonds
Product: Red Hat OpenStack Reporter: Benjamin Schmaus <bschmaus>
Component: openstack-tripleo-heat-templatesAssignee: Jiri Stransky <jstransk>
Status: CLOSED WONTFIX QA Contact: Shai Revivo <srevivo>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.0 (Kilo)CC: dsneddon, mburns, mschuppe, rhel-osp-director-maint, shardy
Target Milestone: ---Keywords: ZStream
Target Release: 7.0 (Kilo)   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-10 15:40:14 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 Benjamin Schmaus 2016-03-04 23:40:43 UTC
Description of problem:  Customer has a OSP 7.0 environment they are attempting to upgrade to OSP 7.2.   When they initially dpeloyed the cluster, it had OVS bonds on the overcloud nodes.  Customer proceeded to manually upgrade os-net-config on the overcloud nodes to the version that supports linux bonds.  They then manually changed the bond interfaces on the overcloud nodes to linux bonds.  They also updated their templates to reflect this change.

Now when customer goes to run an openstack update command:

openstack overcloud deploy --templates /home/stack/templates --control-flavor control --compute-flavor compute --control-scale 3 --compute-scale 23 --ceph-storage-scale 0 --neutron-disable-tunneling --neutron-network-type vlan --neutron-network-vlan-ranges 'datacentre:2000:2500,datacentre:102:102' -e /home/stack/network-environment.yaml -e  --debug --libvirt-type kvm --ntp-server 1.1.1.1 -e /home/stack/overcloud-dev.yaml

The linux bonds are being reverted back to ovs bonds.


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


How reproducible:100%


Steps to Reproduce:
1.See Description
2.
3.

Actual results: OVS bonds configured


Expected results: Linux bonds left in place


Additional info:

Comment 3 Steven Hardy 2016-03-07 11:24:16 UTC
So, I think this is because NetworkDeploymentActions defaults to run os-net-config only on CREATE:

https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/controller.yaml#L737

This default was chosen because some issues with pacemaker were observed in some circumstances when you start bouncing nic's on update, so it wasn't safe to always apply nic config changes on update.

The net result of this is that on update, even if you've changed the templates, os-net-config will run with the old values.

So, there's probably two possible solutions:

1. Pass an environment file which sets NetworkDeploymentActions to ['CREATE', 'UPDATE'] instead of only 'CREATE'

2. Stop os-net-config running on update after the initial deployment, so the nic configuration can be manually modified on the already deployed nodes.

I'd suggest testing carefully in either case to ensure pacemaker doesn't see the network reconfiguration as a node outage.