parent
b862d37079
commit
05e222bd44
@ -1,188 +0,0 @@
|
||||
Red Hat network scripts integration
|
||||
-----------------------------------
|
||||
|
||||
The RPM packages for Open vSwitch provide some integration with Red
|
||||
Hat's network scripts. Using this integration is optional.
|
||||
|
||||
To use the integration for a Open vSwitch bridge or interface named
|
||||
<name>, create or edit /etc/sysconfig/network-scripts/ifcfg-<name>.
|
||||
This is a shell script that consists of a series of VARIABLE=VALUE
|
||||
assignments. The following OVS-specific variable names are supported:
|
||||
|
||||
- DEVICETYPE: Always set to "ovs".
|
||||
|
||||
- TYPE: If this is "OVSBridge", then this file represents an OVS
|
||||
bridge named <name>. Otherwise, it represents a port on an OVS
|
||||
bridge and TYPE must have one of the following values:
|
||||
|
||||
* "OVSPort", if <name> is a physical port (e.g. eth0) or
|
||||
virtual port (e.g. vif1.0).
|
||||
|
||||
* "OVSIntPort", if <name> is an internal port (e.g. a tagged
|
||||
VLAN).
|
||||
|
||||
* "OVSBond", if <name> is an OVS bond.
|
||||
|
||||
* "OVSTunnel", if <name> is an OVS tunnel.
|
||||
|
||||
- OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
|
||||
the name of the OVS bridge to which the port should be attached.
|
||||
|
||||
- OVS_OPTIONS: Optionally, extra options to set in the "Port"
|
||||
table when adding the port to the bridge, as a sequence of
|
||||
column[:key]=value options. For example, "tag=100" to make the
|
||||
port an access port for VLAN 100. See the documentation of
|
||||
"add-port" in ovs-vsctl(8) for syntax and the section on the
|
||||
Port table in ovs-vswitchd.conf.db(5) for available options.
|
||||
|
||||
- OVS_EXTRA: Optionally, additional ovs-vsctl commands, separated
|
||||
by "--" (double dash).
|
||||
|
||||
- BOND_IFACES: For "OVSBond" interfaces, a list of physical
|
||||
interfaces to bond together.
|
||||
|
||||
- OVS_TUNNEL_TYPE: For "OVSTunnel" interfaces, the type of the tunnel.
|
||||
For example, "gre", "vxlan", etc.
|
||||
|
||||
- OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
|
||||
used to specify the tunnel options like remote_ip, key, etc.
|
||||
|
||||
Note
|
||||
----
|
||||
|
||||
* "ifdown" on a bridge will not bring individual ports on the bridge
|
||||
down. "ifup" on a bridge will not add ports to the bridge. This
|
||||
behavior should be compatible with standard bridges (with
|
||||
TYPE=Bridge).
|
||||
|
||||
* If 'ifup' on an interface is called multiple times, one can see
|
||||
"RTNETLINK answers: File exists" printed on the console. This comes from
|
||||
ifup-eth trying to add zeroconf route multiple times and is harmless.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
Standalone bridge:
|
||||
|
||||
==> ifcfg-ovsbridge0 <==
|
||||
DEVICE=ovsbridge0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSBridge
|
||||
BOOTPROTO=static
|
||||
IPADDR=A.B.C.D
|
||||
NETMASK=X.Y.Z.0
|
||||
HOTPLUG=no
|
||||
|
||||
Enable DHCP on the bridge:
|
||||
* Needs OVSBOOTPROTO instead of BOOTPROTO.
|
||||
* All the interfaces that can reach the DHCP server
|
||||
as a space separated list in OVSDHCPINTERFACES.
|
||||
|
||||
DEVICE=ovsbridge0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSBridge
|
||||
OVSBOOTPROTO="dhcp"
|
||||
OVSDHCPINTERFACES="eth0"
|
||||
HOTPLUG=no
|
||||
|
||||
|
||||
Adding Internal Port to ovsbridge0:
|
||||
|
||||
==> ifcfg-intbr0 <==
|
||||
DEVICE=intbr0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSIntPort
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
HOTPLUG=no
|
||||
|
||||
|
||||
Internal Port with fixed IP address:
|
||||
|
||||
DEVICE=intbr0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSIntPort
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
BOOTPROTO=static
|
||||
IPADDR=A.B.C.D
|
||||
NETMASK=X.Y.Z.0
|
||||
HOTPLUG=no
|
||||
|
||||
Internal Port with DHCP:
|
||||
* Needs OVSBOOTPROTO or BOOTPROTO.
|
||||
* All the interfaces that can reach the DHCP server
|
||||
as a space separated list in OVSDHCPINTERFACES.
|
||||
|
||||
DEVICE=intbr0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSIntPort
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
OVSBOOTPROTO="dhcp"
|
||||
OVSDHCPINTERFACES="eth0"
|
||||
HOTPLUG=no
|
||||
|
||||
Adding physical eth0 to ovsbridge0 described above:
|
||||
|
||||
==> ifcfg-eth0 <==
|
||||
DEVICE=eth0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSPort
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
BOOTPROTO=none
|
||||
HOTPLUG=no
|
||||
|
||||
|
||||
Tagged VLAN interface on top of ovsbridge0:
|
||||
|
||||
==> ifcfg-vlan100 <==
|
||||
DEVICE=vlan100
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSIntPort
|
||||
BOOTPROTO=static
|
||||
IPADDR=A.B.C.D
|
||||
NETMASK=X.Y.Z.0
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
OVS_OPTIONS="tag=100"
|
||||
OVS_EXTRA="set Interface $DEVICE external-ids:iface-id=$(hostname -s)-$DEVICE-vif"
|
||||
HOTPLUG=no
|
||||
|
||||
|
||||
Bonding:
|
||||
|
||||
==> ifcfg-bond0 <==
|
||||
DEVICE=bond0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSBond
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
BOOTPROTO=none
|
||||
BOND_IFACES="gige-1b-0 gige-1b-1 gige-21-0 gige-21-1"
|
||||
OVS_OPTIONS="bond_mode=balance-tcp lacp=active"
|
||||
HOTPLUG=no
|
||||
|
||||
==> ifcfg-gige-* <==
|
||||
DEVICE=gige-*
|
||||
ONBOOT=yes
|
||||
HOTPLUG=no
|
||||
|
||||
An Open vSwitch Tunnel:
|
||||
|
||||
==> ifcfg-gre0 <==
|
||||
DEVICE=ovs-gre0
|
||||
ONBOOT=yes
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSTunnel
|
||||
OVS_BRIDGE=ovsbridge0
|
||||
OVS_TUNNEL_TYPE=gre
|
||||
OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
|
||||
|
||||
Reporting Bugs
|
||||
--------------
|
||||
|
||||
Please report problems to bugs@openvswitch.org.
|
@ -1,124 +0,0 @@
|
||||
[PATCH] bridge: don't bring up internal ports by default.
|
||||
|
||||
It should be an administrator task to bring up devices as they
|
||||
are configured properly.
|
||||
|
||||
Currently, Fedora is deleting the bridges when the interface is
|
||||
brought down. Therefore, there is no bridge on the next boot and
|
||||
the initscripts can apply the networking configuration properly
|
||||
for a new bridge.
|
||||
|
||||
However, if the system didn't execute ifdown for some reason, the
|
||||
bridge is left in the ovsdb and since internal ports are brought
|
||||
up by default, there is no way for initscripts to known if the
|
||||
adminitrator has already configured it or not.
|
||||
|
||||
This patch reverts commit bef071a5fdf8e2dd87677b04b3cf7a8f5094edcb
|
||||
(bridge: Always "up" internal devices.).
|
||||
|
||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
||||
Signed-off-by: Ben Pfaff <blp@nicira.com>
|
||||
---
|
||||
NEWS | 5 +++++
|
||||
tests/ofproto-dpif.at | 4 ++--
|
||||
tests/ofproto.at | 16 ++++++++--------
|
||||
vswitchd/bridge.c | 3 +--
|
||||
4 files changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index e1fb093..51849fe 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -1,3 +1,8 @@
|
||||
+Backported from upstream:
|
||||
+ - Internal ports are no longer brought up by default, because it
|
||||
+ should be an administrator task to bring up devices as they are
|
||||
+ configured properly.
|
||||
+
|
||||
v2.1.2 - 30 Apr 2014
|
||||
---------------------
|
||||
- Bug fixes.
|
||||
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
|
||||
index 618ea8d..b359e5f 100644
|
||||
--- a/tests/ofproto-dpif.at
|
||||
+++ b/tests/ofproto-dpif.at
|
||||
@@ -1937,7 +1937,7 @@ IFCOUNTERS
|
||||
type=6
|
||||
ifspeed=100000000
|
||||
direction=0
|
||||
- status=3
|
||||
+ status=0
|
||||
in_octets=0
|
||||
in_unicasts=0
|
||||
in_multicasts=0
|
||||
@@ -2006,7 +2006,7 @@ IFCOUNTERS
|
||||
type=6
|
||||
ifspeed=100000000
|
||||
direction=0
|
||||
- status=3
|
||||
+ status=0
|
||||
in_octets=0
|
||||
in_unicasts=0
|
||||
in_multicasts=0
|
||||
diff --git a/tests/ofproto.at b/tests/ofproto.at
|
||||
index f6a62cd..dd56b39 100644
|
||||
--- a/tests/ofproto.at
|
||||
+++ b/tests/ofproto.at
|
||||
@@ -38,8 +38,8 @@ n_tables:254, n_buffers:256
|
||||
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
|
||||
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
|
||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
||||
- config: 0
|
||||
- state: 0
|
||||
+ config: PORT_DOWN
|
||||
+ state: LINK_DOWN
|
||||
speed: 0 Mbps now, 0 Mbps max
|
||||
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
|
||||
])
|
||||
@@ -68,8 +68,8 @@ actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_N
|
||||
state: LINK_DOWN
|
||||
speed: 0 Mbps now, 0 Mbps max
|
||||
LOCAL(br0): addr:aa:55:aa:55:00:0x
|
||||
- config: 0
|
||||
- state: 0
|
||||
+ config: PORT_DOWN
|
||||
+ state: LINK_DOWN
|
||||
speed: 0 Mbps now, 0 Mbps max
|
||||
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
|
||||
])
|
||||
@@ -109,8 +109,8 @@ AT_CHECK([ovs-ofctl -vwarn dump-ports-desc br0], [0], [stdout])
|
||||
AT_CHECK([STRIP_XIDS stdout], [0], [dnl
|
||||
OFPST_PORT_DESC reply:
|
||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
||||
- config: 0
|
||||
- state: 0
|
||||
+ config: PORT_DOWN
|
||||
+ state: LINK_DOWN
|
||||
speed: 0 Mbps now, 0 Mbps max
|
||||
])
|
||||
OVS_VSWITCHD_STOP
|
||||
@@ -124,8 +124,8 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 -vwarn dump-ports-desc br0], [0], [stdout])
|
||||
AT_CHECK([STRIP_XIDS stdout], [0], [dnl
|
||||
OFPST_PORT_DESC reply (OF1.2):
|
||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
||||
- config: 0
|
||||
- state: 0
|
||||
+ config: PORT_DOWN
|
||||
+ state: LINK_DOWN
|
||||
speed: 0 Mbps now, 0 Mbps max
|
||||
])
|
||||
OVS_VSWITCHD_STOP
|
||||
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
|
||||
index 796fe48..79f2402 100644
|
||||
--- a/vswitchd/bridge.c
|
||||
+++ b/vswitchd/bridge.c
|
||||
@@ -1488,8 +1488,7 @@ iface_do_create(const struct bridge *br,
|
||||
VLOG_INFO("bridge %s: added interface %s on port %d",
|
||||
br->name, iface_cfg->name, *ofp_portp);
|
||||
|
||||
- if ((port_cfg->vlan_mode && !strcmp(port_cfg->vlan_mode, "splinter"))
|
||||
- || iface_is_internal(iface_cfg, br->cfg)) {
|
||||
+ if (port_cfg->vlan_mode && !strcmp(port_cfg->vlan_mode, "splinter")) {
|
||||
netdev_turn_flags_on(netdev, NETDEV_UP, NULL);
|
||||
}
|
||||
|
@ -1,205 +0,0 @@
|
||||
From f32488ec28a05e26e0298b3e10b3a7fe422fbf88 Mon Sep 17 00:00:00 2001
|
||||
From: Flavio Leitner <fbl@redhat.com>
|
||||
Date: Thu, 9 Jan 2014 01:04:33 -0200
|
||||
Subject: [PATCH] fedora package: fix systemd ordering and deps.
|
||||
|
||||
There is a chicken and egg issue where common OVS
|
||||
configuration uses a controller which is only accessible
|
||||
via the network. So starting OVS before network.target
|
||||
would break those configurations.
|
||||
|
||||
However, the network doesn't come up after boot because
|
||||
OVS isn't started until after the network scripts tries
|
||||
to configure the ovs.
|
||||
|
||||
This is partially fixed by commits:
|
||||
commit: 602453000e28ec1076c0482ce13c284765a84409
|
||||
rhel: Automatically start openvswitch service before bringing an ovs interfa
|
||||
|
||||
commit: 3214851c31538e8690e31f95702f8927a8c0838b
|
||||
rhel: Add OVSREQUIRES to automatically bring up OpenFlow interface dependencies
|
||||
|
||||
But still there is the dependency issue between network.target
|
||||
and openvswitch which this patch fixes it. It provides two systemd
|
||||
service units. One to run at any time (openvswitch-nonetwork.service)
|
||||
which runs 'ovs-ctl start' and the other one (openvswith.service) to
|
||||
run after network.target which works as a frontend to the admin.
|
||||
|
||||
The openvswitch-nonetwork.service is used internally by the
|
||||
'ifup-ovs/ifdown-ovs' scripts when adding or removing ports to
|
||||
the bridge or when the openvswitch.service is enabled by the admin.
|
||||
|
||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
||||
---
|
||||
rhel/automake.mk | 4 +++-
|
||||
rhel/etc_sysconfig_network-scripts_ifdown-ovs | 11 ++++++++++-
|
||||
rhel/etc_sysconfig_network-scripts_ifup-ovs | 11 ++++++++++-
|
||||
rhel/openvswitch-fedora.spec.in | 5 ++++-
|
||||
...ib_systemd_system_openvswitch-nonetwork.service | 13 ++++++++++++
|
||||
rhel/usr_lib_systemd_system_openvswitch.service | 7 ++++---
|
||||
..._openvswitch_scripts_systemd_sysconfig.template | 23 ++++++++++++++++++++++
|
||||
7 files changed, 67 insertions(+), 7 deletions(-)
|
||||
create mode 100644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
||||
create mode 100644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
|
||||
diff --git a/rhel/automake.mk b/rhel/automake.mk
|
||||
index 2911e71..9cd9a41 100644
|
||||
--- a/rhel/automake.mk
|
||||
+++ b/rhel/automake.mk
|
||||
@@ -22,7 +22,9 @@ EXTRA_DIST += \
|
||||
rhel/openvswitch-fedora.spec \
|
||||
rhel/openvswitch-fedora.spec.in \
|
||||
rhel/usr_share_openvswitch_scripts_sysconfig.template \
|
||||
- rhel/usr_lib_systemd_system_openvswitch.service
|
||||
+ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
||||
+ rhel/usr_lib_systemd_system_openvswitch.service \
|
||||
+ rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
||||
|
||||
update_rhel_spec = \
|
||||
($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
|
||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
index d2a2f4b..32fddb5 100755
|
||||
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
@@ -34,7 +34,16 @@ if [ ! -x ${OTHERSCRIPT} ]; then
|
||||
OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-eth"
|
||||
fi
|
||||
|
||||
-[ -f /var/lock/subsys/openvswitch ] || /sbin/service openvswitch start
|
||||
+SERVICE_UNIT=/usr/lib/systemd/system/openvswitch-nonetwork.service
|
||||
+if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
|
||||
+ if ! systemctl --quiet is-active openvswitch-nonetwork.service; then
|
||||
+ systemctl start openvswitch-nonetwork.service
|
||||
+ fi
|
||||
+else
|
||||
+ if [ ! -f /var/lock/subsys/openvswitch ]; then
|
||||
+ /sbin/service openvswitch start
|
||||
+ fi
|
||||
+fi
|
||||
|
||||
case "$TYPE" in
|
||||
OVSBridge)
|
||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
index 8904c59..3c6b557 100755
|
||||
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
@@ -60,7 +60,16 @@ fi
|
||||
fi
|
||||
done
|
||||
|
||||
-[ -f /var/lock/subsys/openvswitch ] || /sbin/service openvswitch start
|
||||
+SERVICE_UNIT=/usr/lib/systemd/system/openvswitch-nonetwork.service
|
||||
+if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
|
||||
+ if ! systemctl --quiet is-active openvswitch-nonetwork.service; then
|
||||
+ systemctl start openvswitch-nonetwork.service
|
||||
+ fi
|
||||
+else
|
||||
+ if [ ! -f /var/lock/subsys/openvswitch ]; then
|
||||
+ /sbin/service openvswitch start
|
||||
+ fi
|
||||
+fi
|
||||
|
||||
case "$TYPE" in
|
||||
OVSBridge)
|
||||
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
|
||||
index 27a3b03..8a5505d 100644
|
||||
--- a/rhel/openvswitch-fedora.spec.in
|
||||
+++ b/rhel/openvswitch-fedora.spec.in
|
||||
@@ -45,6 +45,8 @@ install -d -m 755 $RPM_BUILD_ROOT/etc
|
||||
install -d -m 755 $RPM_BUILD_ROOT/etc/openvswitch
|
||||
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch.service \
|
||||
$RPM_BUILD_ROOT%{_unitdir}/openvswitch.service
|
||||
+install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
|
||||
+ $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service
|
||||
install -m 755 rhel/etc_init.d_openvswitch \
|
||||
$RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
|
||||
install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig
|
||||
@@ -60,7 +62,7 @@ install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
|
||||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs
|
||||
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
|
||||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifup-ovs
|
||||
-install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_sysconfig.template \
|
||||
+install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
||||
$RPM_BUILD_ROOT/etc/sysconfig/openvswitch
|
||||
install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
|
||||
|
||||
@@ -101,6 +103,7 @@ systemctl start openvswitch.service
|
||||
%config /etc/sysconfig/openvswitch
|
||||
%config /etc/logrotate.d/openvswitch
|
||||
%{_unitdir}/openvswitch.service
|
||||
+%{_unitdir}/openvswitch-nonetwork.service
|
||||
%{_datadir}/openvswitch/scripts/openvswitch.init
|
||||
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
|
||||
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
|
||||
diff --git a/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service b/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
||||
new file mode 100644
|
||||
index 0000000..870b25e
|
||||
--- /dev/null
|
||||
+++ b/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
||||
@@ -0,0 +1,13 @@
|
||||
+[Unit]
|
||||
+Description=Open vSwitch Internal Unit
|
||||
+After=syslog.target
|
||||
+PartOf=openvswitch.service
|
||||
+Wants=openvswitch.service
|
||||
+
|
||||
+[Service]
|
||||
+Type=oneshot
|
||||
+RemainAfterExit=yes
|
||||
+EnvironmentFile=-/etc/sysconfig/openvswitch
|
||||
+ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start \
|
||||
+ --system-id=random $OPTIONS
|
||||
+ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop
|
||||
diff --git a/rhel/usr_lib_systemd_system_openvswitch.service b/rhel/usr_lib_systemd_system_openvswitch.service
|
||||
index f39d7e6..f0bc16f 100644
|
||||
--- a/rhel/usr_lib_systemd_system_openvswitch.service
|
||||
+++ b/rhel/usr_lib_systemd_system_openvswitch.service
|
||||
@@ -1,11 +1,12 @@
|
||||
[Unit]
|
||||
Description=Open vSwitch
|
||||
-After=syslog.target network.target
|
||||
+After=syslog.target network.target openvswitch-nonetwork.service
|
||||
+Requires=openvswitch-nonetwork.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
-ExecStart=/usr/share/openvswitch/scripts/openvswitch.init start
|
||||
-ExecStop=/usr/share/openvswitch/scripts/openvswitch.init stop
|
||||
+ExecStart=/bin/true
|
||||
+ExecStop=/bin/true
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
diff --git a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
new file mode 100644
|
||||
index 0000000..3050a07
|
||||
--- /dev/null
|
||||
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
||||
@@ -0,0 +1,23 @@
|
||||
+### Configuration options for openvswitch
|
||||
+#
|
||||
+# Enable core files:
|
||||
+# --force-corefiles=yes
|
||||
+#
|
||||
+# Set "nice" priority at which to run ovsdb-server:
|
||||
+# --ovsdb-server-priority=-10
|
||||
+#
|
||||
+# Set "nice" priority at which to run ovsdb-vswitchd:
|
||||
+# --ovs-vswitchd-priority=-10
|
||||
+#
|
||||
+# Pass or not --mlockall option to ovs-vswitchd.
|
||||
+# This option should be set to "yes" or "no". The default is "yes".
|
||||
+# Enabling this option can avoid networking interruptions due to
|
||||
+# system memory pressure in extraordinary situations, such as multiple
|
||||
+# concurrent VM import operations.
|
||||
+# --mlockall=yes
|
||||
+#
|
||||
+# Use valgrind:
|
||||
+# --ovs-vswitchd-wrapper=valgrind
|
||||
+# --ovsdb-server-wrapper=valgrind
|
||||
+#
|
||||
+OPTIONS=""
|
||||
--
|
||||
1.8.4.2
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 691e47554dd03dd6492e00bab5bd6d215f5cbd4f Mon Sep 17 00:00:00 2001
|
||||
From: Flavio Leitner <fbl@redhat.com>
|
||||
Date: Thu, 27 Feb 2014 09:16:34 -0300
|
||||
Subject: [PATCH] ovs-lib: allow non-root users to check service status
|
||||
|
||||
It tries to log the status operation, so although non-root
|
||||
users can see the current status, the lack of permission
|
||||
to write to the log results in an error message.
|
||||
|
||||
This changes to log only if the user has the permission to
|
||||
write to the log file.
|
||||
|
||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
||||
---
|
||||
utilities/ovs-lib.in | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
|
||||
index 029ed3b..48d0c36 100644
|
||||
--- a/utilities/ovs-lib.in
|
||||
+++ b/utilities/ovs-lib.in
|
||||
@@ -54,7 +54,11 @@ ovs_ctl () {
|
||||
# of ovs-ctl. It is also useful to document the o/p in ovs-ctl.log.
|
||||
display=`"${datadir}/scripts/ovs-ctl" "$@" 2>&1`
|
||||
rc=$?
|
||||
- echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
|
||||
+ if test -w "${logdir}/ovs-ctl.log"; then
|
||||
+ echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
|
||||
+ else
|
||||
+ echo "${display}"
|
||||
+ fi
|
||||
return ${rc}
|
||||
;;
|
||||
*)
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,114 +0,0 @@
|
||||
From e2bcc8ef49f5e51f48983b87ab1010f0f9ab1454 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jason=20K=C3=B6lker?= <jason@koelker.net>
|
||||
Date: Mon, 31 Mar 2014 23:34:14 +0000
|
||||
Subject: [PATCH] rhel: Add Patch Port support to initscripts
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Allows setting up type=patch ports through sysconfig ifcfg-* files.
|
||||
|
||||
Signed-off-by: Jason Kölker <jason@koelker.net>
|
||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
||||
Acked-by: Flavio Leitner <fbl@redhat.com>
|
||||
---
|
||||
AUTHORS | 1 +
|
||||
rhel/README.RHEL | 25 +++++++++++++++++++++++++
|
||||
rhel/etc_sysconfig_network-scripts_ifdown-ovs | 3 +++
|
||||
rhel/etc_sysconfig_network-scripts_ifup-ovs | 4 ++++
|
||||
4 files changed, 33 insertions(+)
|
||||
|
||||
diff --git a/AUTHORS b/AUTHORS
|
||||
index 977753b..c5402cf 100644
|
||||
--- a/AUTHORS
|
||||
+++ b/AUTHORS
|
||||
@@ -57,6 +57,7 @@ Isaku Yamahata yamahata@valinux.co.jp
|
||||
James P. roampune@gmail.com
|
||||
James Page james.page@ubuntu.com
|
||||
Jarno Rajahalme jrajahalme@nicira.com
|
||||
+Jason Kölker jason@koelker.net
|
||||
Jean Tourrilhes jt@hpl.hp.com
|
||||
Jeremy Stribling strib@nicira.com
|
||||
Jesse Gross jesse@nicira.com
|
||||
diff --git a/rhel/README.RHEL b/rhel/README.RHEL
|
||||
index cb6ab88..2620674 100644
|
||||
--- a/rhel/README.RHEL
|
||||
+++ b/rhel/README.RHEL
|
||||
@@ -25,6 +25,8 @@ assignments. The following OVS-specific variable names are supported:
|
||||
|
||||
* "OVSTunnel", if <name> is an OVS tunnel.
|
||||
|
||||
+ * "OVSPatchPort", if <name> is a patch port
|
||||
+
|
||||
- OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
|
||||
the name of the OVS bridge to which the port should be attached.
|
||||
|
||||
@@ -47,6 +49,9 @@ assignments. The following OVS-specific variable names are supported:
|
||||
- OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
|
||||
used to specify the tunnel options like remote_ip, key, etc.
|
||||
|
||||
+ - OVS_PATCH_PEER: For "OVSPatchPort" devices, this field specifies
|
||||
+ the patch's peer on the other bridge.
|
||||
+
|
||||
Note
|
||||
----
|
||||
|
||||
@@ -182,6 +187,26 @@ OVS_BRIDGE=ovsbridge0
|
||||
OVS_TUNNEL_TYPE=gre
|
||||
OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
|
||||
|
||||
+
|
||||
+Patch Ports:
|
||||
+
|
||||
+==> ifcfg-patch-ovs-0 <==
|
||||
+DEVICE=patch-ovs-0
|
||||
+ONBOOT=yes
|
||||
+DEVICETYPE=ovs
|
||||
+TYPE=OVSPatchPort
|
||||
+OVS_BRIDGE=ovsbridge0
|
||||
+OVS_PATCH_PEER=patch-ovs-1
|
||||
+
|
||||
+==> ifcfg-patch-ovs-1 <==
|
||||
+DEVICE=patch-ovs-1
|
||||
+ONBOOT=yes
|
||||
+DEVICETYPE=ovs
|
||||
+TYPE=OVSPatchPort
|
||||
+OVS_BRIDGE=ovsbridge1
|
||||
+OVS_PATCH_PEER=patch-ovs-0
|
||||
+
|
||||
+
|
||||
Reporting Bugs
|
||||
--------------
|
||||
|
||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
index 8e768c8..1371a30 100755
|
||||
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
||||
@@ -47,6 +47,9 @@ case "$TYPE" in
|
||||
retval=$?
|
||||
ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
|
||||
;;
|
||||
+ OVSPatchPort)
|
||||
+ ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
|
||||
+ ;;
|
||||
*)
|
||||
echo $"Invalid OVS interface type $TYPE"
|
||||
exit 1
|
||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
index a50c72f..f5641d2 100755
|
||||
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
||||
@@ -127,6 +127,10 @@ case "$TYPE" in
|
||||
ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=$OVS_TUNNEL_TYPE $OVS_TUNNEL_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
|
||||
${OTHERSCRIPT} ${CONFIG} ${2}
|
||||
;;
|
||||
+ OVSPatchPort)
|
||||
+ ifup_ovs_bridge
|
||||
+ ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=patch options:peer="${OVS_PATCH_PEER}" ${OVS_EXTRA+-- $OVS_EXTRA}
|
||||
+ ;;
|
||||
*)
|
||||
echo $"Invalid OVS interface type $TYPE"
|
||||
exit 1
|
||||
--
|
||||
1.8.5.3
|
||||
|
Loading…
Reference in new issue