[Bug 1314887] Re: ifupdown hook is missing in upstart script

Mathew Hodson mathew.hodson at gmail.com
Thu Dec 10 02:02:22 UTC 2015


** Description changed:

- ifupdown hook is present in /etc/init.d/openvswitch-switch, but not in
- /etc/init/openvswitch-switch.conf which is the default.
+ [Impact]
  
- === modified file 'debian/openvswitch-switch.upstart'
- --- debian/openvswitch-switch.upstart   2013-08-23 11:18:52 +0000
- +++ debian/openvswitch-switch.upstart   2014-05-01 04:26:00 +0000
- @@ -32,11 +32,13 @@
-    fi
-    set "$@" $OVS_CTL_OPTS
-    "$@"
- +  ifup --allow ovs `ifquery --allow ovs --list`
-  end script
+ The documentation included in both upstream Open vSwitch (ovs) 2.0.2 and
+ the version distributed by Ubuntu states that it supports configuring
+ ovs using /etc/network/interfaces (see /usr/share/doc/openvswitch-
+ switch/README.Debian). Moreover, /etc/init.d/openvswitch-switch contains
+ the necessary logic to support parsing /etc/network/interfaces but that
+ logic is completely missing in the Upstart /etc/init/openvswitch-
+ switch.conf script.
  
-  post-stop script
-    . /usr/share/openvswitch/scripts/ovs-lib
-    test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch
+ The result of this issue is a user can properly configure their network
+ in /etc/network/interfaces, test it with ifup/ifdown, reboot, and have
+ no network configured with the machine comes back up. If the user is
+ unaware that Upstart is being used and not classic init.d scripts, a
+ manual call using /etc/init.d/openvswitch-switch works as expected.
+ Without boot integration, users can't easily use Open vSwitch to
+ configure their "main" interface and have a system work on boot.
  
- +  ifdown --allow ovs `ifquery --allow ovs --list`
-    ovs_ctl stop
-  end script
+ The fix in this thread basically adds support for using the normal
+ config files (/etc/network/interfaces and /etc/network/interfaces.d/*)
+ to configure the network on boot.
+ 
+ [Test Case]
+ 
+ After running `apt-get install -y openvswitch-switch`, add a stanza to
+ /etc/network/interfaces like the following:
+ 
+ allow-ovs br0
+ iface br0 inet static
+     ovs_type OVSBridge
+     address 172.16.0.1
+     network 255.255.255.0
+ 
+ Try `ifup br0` and `ifdown br0` and notice how the interface is
+ correctly controlled. Try `/etc/init.d/openvswitch-switch restart` and
+ note how the interface comes up. Reboot the machine and note how br0 is
+ not correctly configured.
+ 
+ [Regression Potential]
+ 
+ This problem is recognized by the user community (see
+ http://www.opencloudblog.com/?p=240,
+ http://blog.scottlowe.org/2012/08/17/installing-kvm-and-open-vswitch-on-
+ ubuntu/, etc) and people have been manually patching their systems for
+ years to get the desired capability. It's conceivable people's odd ways
+ of fixing this problem could conflict with the potential patch. Double
+ ifup'ing or ifdown'ing an interface shouldn't break any systems but
+ error messages may be emitted.
+ 
+ The other unlikely issue is that users have interfaces correctly
+ configured in /etc/network/interfaces and are deliberately depending on
+ the interfaces *not* coming up on boot. This patch would cause these
+ boot-dormant interfaces to come up unexpectedly but, again, I think this
+ problem unlikely.
+ 
+ [Other Info]
+ 
+ This patch aligns the boot behavior both with what's expected and what
+ the documentation states.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/1314887

Title:
  ifupdown hook is missing in upstart script

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1314887/+subscriptions



More information about the Ubuntu-server-bugs mailing list