diff options
Diffstat (limited to 'main/openvswitch/readme.debian.patch')
-rw-r--r-- | main/openvswitch/readme.debian.patch | 86 |
1 files changed, 45 insertions, 41 deletions
diff --git a/main/openvswitch/readme.debian.patch b/main/openvswitch/readme.debian.patch index e641e70914..af89a0d355 100644 --- a/main/openvswitch/readme.debian.patch +++ b/main/openvswitch/readme.debian.patch @@ -9,36 +9,36 @@ -In order of increasing manual effort, these are: - - * Use a Linux kernel 3.3 or later, which has an integrated Open -- vSwitch kernel module. +- vSwitch kernel module. - -- The upstream Linux kernel module lacks a few features that -- are in the third-party module. For details, please see the -- FAQ, "What features are not available in the Open vSwitch -- kernel datapath that ships as part of the upstream Linux -- kernel?". +- The upstream Linux kernel module lacks a few features that +- are in the third-party module. For details, please see the +- FAQ, "What features are not available in the Open vSwitch +- kernel datapath that ships as part of the upstream Linux +- kernel?". - - * Install the "openvswitch-datapath-dkms" Debian package that -- you built earlier. This should automatically build and -- install the Open vSwitch kernel module for your running -- kernel. +- you built earlier. This should automatically build and +- install the Open vSwitch kernel module for your running +- kernel. - -- This option requires that you have a compiler and toolchain -- installed on the machine where you run Open vSwitch, which -- may be unacceptable in some production server environments. +- This option requires that you have a compiler and toolchain +- installed on the machine where you run Open vSwitch, which +- may be unacceptable in some production server environments. - - * Install the "openvswitch-datapath-source" Debian package, use -- "module-assistant" to build a Debian package of the Open -- vSwitch kernel module for your kernel, and then install that -- Debian package. +- "module-assistant" to build a Debian package of the Open +- vSwitch kernel module for your kernel, and then install that +- Debian package. - -- You can install the kernel module Debian packages that you -- build this way on the same machine where you built it or on -- another machine or machines, which means that you don't -- necessarily have to have any build infrastructure on the -- machines where you use the kernel module. +- You can install the kernel module Debian packages that you +- build this way on the same machine where you built it or on +- another machine or machines, which means that you don't +- necessarily have to have any build infrastructure on the +- machines where you use the kernel module. - -- /usr/share/doc/openvswitch-datapath-source/README.Debian has -- details on the build process. +- /usr/share/doc/openvswitch-datapath-source/README.Debian has +- details on the build process. - - * Build and install the kernel module by hand. - @@ -62,16 +62,31 @@ -ifdown --allow=ovs $list_of_bridges +ifup $list_of_bridges +ifdown $list_of_bridges ++ ++Notes on LXC integration: ++------------------------- ++ ++To prevent containers failing to start after hard reboots create: ++----------------------------------------------------------------- ++ ++/etc/lxc/ovsup: ++ ++#!/bin/sh ++ovs-vsctl --if-exists del-port $5 ++----------------------------------------------------------------- ++ ++/etc/lxc/ovsdown: ++ ++#!/bin/sh -Notes on dependencies: ---------------------- -+Notes on LXC integration: -+------------------------- ++ovs-vsctl --if-exists del-port veth.$LXC_NAME ++----------------------------------------------------------------- -openvswitch-switch depends on $network, $named $remote_fs and $syslog to start. -This creates some startup dependency issues. -+To prevent containers failing to start after hard reboots create: -+----------------------------------------------------------------- ++& add to the container config file: -* Since openvswitch utilities are placed in /usr and /usr can be mounted -through NFS, openvswitch has to start after it. But if a user uses openvswitch @@ -79,28 +94,22 @@ -So, if /usr is mounted through NFS and openvswitch is used for all networking, -the administrator should figure out a way to mount NFS before starting OVS. -One way to do this is in initramfs. -+/etc/lxc/ovsup: - +- -* Since openvswitch starts after $network, $remote_fs and $syslog, any startup -script that depends on openvswitch but starts before it, needs to be changed -to depend on openvswitch-switch too. -+#!/bin/sh -+ovs-vsctl --if-exists del-port $5 -+----------------------------------------------------------------- - +- -* Ideally, an admin should not add openvswitch bridges in the 'auto' -section of the 'interfaces' file (i.e., if "br0" is a OVS bridge, you should -not have a line "auto br0"). This is because, when ifupdown starts -working on bridges listed in 'auto', openvswitch has not yet started. -+/etc/lxc/ovsdown: - +- -But, if the admin wants to go down this route and adds openvswitch bridges -in the 'auto' section, openvswitch-switch will forcefully be started when -ifupdown kicks in. In a case like this, the admin needs to make sure that /usr -has already been mounted and that a remote $syslog (if used) is ready to -receive openvswitch logs. -+#!/bin/sh - +- -* With systemd, adding openvswitch bridges in the 'auto' section of the -'interfaces' file can cause race conditions (i.e., if "br0" is a OVS bridge, -you should not have a line "auto br0"). Debian systems have added a @@ -110,10 +119,5 @@ -bridges using tools like "ovs-vsctl" or "ovs-dpctl". This is also a problem -when you upgrade your openvswitch kernel module using commands like -'force-reload-kmod'. -+ovs-vsctl --if-exists del-port veth.$LXC_NAME -+----------------------------------------------------------------- -+ -+& add to the container config file: -+ +lxc.hook.pre-start = /etc/lxc/ovsup +lxc.hook.post-stop = /etc/lxc/ovsdown |