Bug 1399224

Summary: br-ctlplane interface is not properly configured on reboot
Product: Red Hat OpenStack Reporter: Jason Montleon <jmontleo>
Component: rhosp-directorAssignee: Angus Thomas <athomas>
Status: CLOSED NOTABUG QA Contact: Omri Hochman <ohochman>
Severity: high Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: amuller, aschultz, dbecker, kdube, mburns, morazi, rhel-osp-director-maint, rkhan
Target Milestone: ---   
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: 2017-04-20 20:26:52 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:

Description Jason Montleon 2016-11-28 15:12:00 UTC
Description of problem:
Configuring an OSP 10 director works fine, but on reboot the br-ctlplane interface does not come up. Running service network restart causing the interface to com up properly.

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


How reproducible:
Always

Steps to Reproduce:
1. Install an OSP 10 director using egon
2. Reboot

Actual results:
br-ctlplane interface does not come up

Expected results:
br-ctlplane interface should come up

Additional info:
openstack-aodh-api-3.0.1-2.el7ost.noarch
openstack-aodh-common-3.0.1-2.el7ost.noarch
openstack-aodh-compat-3.0.1-2.el7ost.noarch
openstack-aodh-evaluator-3.0.1-2.el7ost.noarch
openstack-aodh-expirer-3.0.1-2.el7ost.noarch
openstack-aodh-listener-3.0.1-2.el7ost.noarch
openstack-aodh-notifier-3.0.1-2.el7ost.noarch
openstack-ceilometer-api-7.0.0-2.3.el7ost.noarch
openstack-ceilometer-central-7.0.0-2.3.el7ost.noarch
openstack-ceilometer-collector-7.0.0-2.3.el7ost.noarch
openstack-ceilometer-common-7.0.0-2.3.el7ost.noarch
openstack-ceilometer-notification-7.0.0-2.3.el7ost.noarch
openstack-ceilometer-polling-7.0.0-2.3.el7ost.noarch
openstack-glance-13.0.0-1.el7ost.noarch
openstack-heat-api-7.0.0-5.el7ost.noarch
openstack-heat-api-cfn-7.0.0-5.el7ost.noarch
openstack-heat-api-cloudwatch-7.0.0-5.el7ost.noarch
openstack-heat-common-7.0.0-5.el7ost.noarch
openstack-heat-engine-7.0.0-5.el7ost.noarch
openstack-heat-templates-0-0.6.1e6015dgit.el7ost.noarch
openstack-ironic-api-6.2.1-4.el7ost.noarch
openstack-ironic-common-6.2.1-4.el7ost.noarch
openstack-ironic-conductor-6.2.1-4.el7ost.noarch
openstack-ironic-inspector-4.2.0-2.el7ost.noarch
openstack-keystone-10.0.0-3.el7ost.noarch
openstack-mistral-api-3.0.2-5.el7ost.noarch
openstack-mistral-common-3.0.2-5.el7ost.noarch
openstack-mistral-engine-3.0.2-5.el7ost.noarch
openstack-mistral-executor-3.0.2-5.el7ost.noarch
openstack-neutron-9.1.0-2.el7ost.noarch
openstack-neutron-common-9.1.0-2.el7ost.noarch
openstack-neutron-ml2-9.1.0-2.el7ost.noarch
openstack-neutron-openvswitch-9.1.0-2.el7ost.noarch
openstack-nova-api-14.0.2-5.el7ost.noarch
openstack-nova-cert-14.0.2-5.el7ost.noarch
openstack-nova-common-14.0.2-5.el7ost.noarch
openstack-nova-compute-14.0.2-5.el7ost.noarch
openstack-nova-conductor-14.0.2-5.el7ost.noarch
openstack-nova-console-14.0.2-5.el7ost.noarch
openstack-nova-novncproxy-14.0.2-5.el7ost.noarch
openstack-nova-scheduler-14.0.2-5.el7ost.noarch
openstack-puppet-modules-9.3.0-1.el7ost.noarch
openstack-selinux-0.7.12-1.el7ost.noarch
openstack-swift-account-2.10.0-5.el7ost.noarch
openstack-swift-container-2.10.0-5.el7ost.noarch
openstack-swift-object-2.10.0-5.el7ost.noarch
openstack-swift-proxy-2.10.0-5.el7ost.noarch
openstack-tempest-13.0.0-4.bafe630git.el7ost.noarch
openstack-tripleo-0.0.8-0.2.4de13b3git.el7ost.noarch
openstack-tripleo-common-5.3.0-6.el7ost.noarch
openstack-tripleo-heat-templates-5.0.0-1.6.el7ost.noarch
openstack-tripleo-image-elements-5.0.0-2.el7ost.noarch
openstack-tripleo-puppet-elements-5.0.0-2.el7ost.noarch
openstack-tripleo-ui-1.0.4-4.el7ost.noarch
openstack-tripleo-validations-5.1.0-3.el7ost.noarch
openstack-zaqar-3.0.0-2.el7ost.noarch
openvswitch-2.0.0-7.el7.x86_64

Comment 1 Jason Montleon 2016-11-28 20:42:23 UTC
This is what ovs-vsctl show gives me after install:
    Manager "ptcp:6640:127.0.0.1"
        is_connected: true
    Bridge br-ctlplane
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port phy-br-ctlplane
            Interface phy-br-ctlplane
                type: patch
                options: {peer=int-br-ctlplane}
        Port br-ctlplane
            Interface br-ctlplane
                type: internal
        Port "eth1"
            Interface "eth1"
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port int-br-ctlplane
            Interface int-br-ctlplane
                type: patch
                options: {peer=phy-br-ctlplane}
        Port "tapc7a53899-a0"
            tag: 1
            Interface "tapc7a53899-a0"
                type: internal
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.0"

After reboot:
    Manager "ptcp:6640:127.0.0.1"
        is_connected: true
    Bridge br-ctlplane
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port phy-br-ctlplane
            Interface phy-br-ctlplane
                type: patch
                options: {peer=int-br-ctlplane}
        Port br-ctlplane
            Interface br-ctlplane
                type: internal
        Port "eth1"
            Interface "eth1"
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port int-br-ctlplane
            Interface int-br-ctlplane
                type: patch
                options: {peer=phy-br-ctlplane}
        Port "tapc7a53899-a0"
            tag: 1
            Interface "tapc7a53899-a0"
                type: internal
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.0"

After network restart:
    Manager "ptcp:6640:127.0.0.1"
        is_connected: true
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port int-br-ctlplane
            Interface int-br-ctlplane
                type: patch
                options: {peer=phy-br-ctlplane}
        Port "tap8cfef13c-d4"
            Interface "tap8cfef13c-d4"
                type: internal
    Bridge br-ctlplane
        fail_mode: standalone
        Port "eth1"
            Interface "eth1"
        Port br-ctlplane
            Interface br-ctlplane
                type: internal
    ovs_version: "2.0.0"

Comment 2 Jason Montleon 2016-11-29 22:03:09 UTC
This is happening with openvswitch-2.0.0-7.el7.x86_64

I upgraded to openvswitch-2.5.0-3.el7.x86_64 and the bridge comes up correctly on reboot now.

I suspect from one of the changelog notes on 2.0.1 that that may be suffcient (- bridge: don't bring up internal ports by default.)

Best I could tell the interface was created and upped so that when the ifup script ran it wasn't getting configured.

Comment 4 Assaf Muller 2017-04-20 20:26:52 UTC
We've shipped OVS 2.5 in the OSP 10 channel since it's GA.