Bug 1308733

Summary: Changed nics-config/{control,compute}.yaml files to use linux_bond instead of ovs_bond
Product: Red Hat OpenStack Reporter: David Hill <dhill>
Component: os-net-configAssignee: RHOS Maint <rhos-maint>
Status: CLOSED NOTABUG QA Contact: Shai Revivo <srevivo>
Severity: high Docs Contact:
Priority: high    
Version: 7.0 (Kilo)CC: asimonel, bschmaus, dsneddon, hbrock, jcoufal, jslagle, mburns, rhel-osp-director-maint
Target Milestone: ---   
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-17 09:47:21 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 David Hill 2016-02-15 21:54:54 UTC
Description of problem:
Changed nics-config/{control,compute}.yaml files to use linux_bond instead of ovs_bond but when running "openstack overcloud update", everything is rolled back to ovs_bond even though we manually configured the computes/controllers to use linux_bond.

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


How reproducible:
Everytime

Steps to Reproduce:
1. Change the yaml definitions to use linux_bond instead of ovs_bond
2. Manually destroyed ovs-bond from all servers
3. Manually recreated them with linux_bonds
4. Run openstack overcloud update with -e of new compute and controllers
5. Everything was reverted to ovs-bond

Actual results:
Applied old templates

Expected results:
Applied new templates


Additional info:

Comment 1 Dan Sneddon 2016-02-15 22:05:32 UTC
The issue here is handling a situation where the os-net-config template defines a bond, but there is an existing bond.

If you first deploy os-net-config with this:

network_config:
  -
    type: ovs_bond
    name: bond0
    use_dhcp: false
    ovs_options: "bond_mode=balance-tcp lacp=active other-config:lacp-fallback-ab=true"
    addresses:
      -
        ip_netmask: 192.168.1.10
    members:
      -
        type: interface
        name: eth1
        primary: true
      -
        type: interface
        name: nic2

But then change your configuration to this:

network_config:
  -
    type: linux_bond
    name: bond0
    use_dhcp: false
    bonding_options: "mode=4"
    addresses:
      -
        ip_netmask: 192.168.1.10
    members:
      -
        type: interface
        name: eth1
        primary: true
      -
        type: interface
        name: nic2

The old bond reportedly still exists as far as OVS is concerned. This has so far only been observed in OpenStack deployments, but I am going to try testing with os-net-config to see if I can reproduce.

Comment 6 Mike Burns 2016-04-07 21:11:06 UTC
This bug did not make the OSP 8.0 release.  It is being deferred to OSP 10.

Comment 8 Dan Sneddon 2016-10-17 09:47:21 UTC
The network config still defines an OVS bond. This is probably because network actions are only configured for CREATE actions on a stack, not UPDATE.

To deploy a new network config during a stack update, be sure to set the NetworkDeploymentActions to CREATE,UPDATE. This can be done for a single update by including an environment file one time with this content:

parameter_defaults:
  NetworkDeploymentActions: ['CREATE','UPDATE']