summaryrefslogtreecommitdiff
path: root/rhel
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2015-06-12 12:51:24 -0400
committerBen Pfaff <blp@nicira.com>2015-06-15 14:21:58 -0700
commitc05ea879009f8a0be3eb21581b7cadb500aebfcd (patch)
treed30f88fb641100d50db09b62cd2697d82628a9ae /rhel
parent43d3e694152cb34f65b941a97b3741dd4d42462d (diff)
downloadopenvswitch-c05ea879009f8a0be3eb21581b7cadb500aebfcd.tar.gz
fedora.spec: Create openvswitch-ovn package.
This patch creates a new subpackage for OVN, openvswitch-ovn. It also installs systemd unit files for ovn-controller and ovn-northd. If you want to run ovn-controller: # systemctl start ovn-controller If you want to run ovn-northd: # systemctl start ovn-northd Both systemd units are currently set to depend on openvswitch. If further ovsdb initialization is required for the OVN databases before ovn-northd can start, that will be handled automatically by ovn-ctl when you start the ovn-northd service. This currently assumes that ovn-northd runs on the same host as ovsdb-server that is hosting the OVN databases. That seems like a reasonable assumption in the current architecture and can be evolved later when needed. Signed-off-by: Russell Bryant <rbryant@redhat.com> CC: Flavio Leitner <fbl@redhat.com> CC: Ben Pfaff <blp@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'rhel')
-rw-r--r--rhel/automake.mk4
-rw-r--r--rhel/openvswitch-fedora.spec.in77
-rw-r--r--rhel/usr_lib_systemd_system_ovn-controller.service16
-rw-r--r--rhel/usr_lib_systemd_system_ovn-northd.service15
4 files changed, 104 insertions, 8 deletions
diff --git a/rhel/automake.mk b/rhel/automake.mk
index 9c3433bac..f6272a311 100644
--- a/rhel/automake.mk
+++ b/rhel/automake.mk
@@ -24,7 +24,9 @@ EXTRA_DIST += \
rhel/usr_share_openvswitch_scripts_sysconfig.template \
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
rhel/usr_lib_systemd_system_openvswitch.service \
- rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
+ rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
+ rhel/usr_lib_systemd_system_ovn-controller.service \
+ rhel/usr_lib_systemd_system_ovn-northd.service
update_rhel_spec = \
$(AM_V_GEN)($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
index 2c6f6e939..08cd5ef2b 100644
--- a/rhel/openvswitch-fedora.spec.in
+++ b/rhel/openvswitch-fedora.spec.in
@@ -83,6 +83,17 @@ Provides: openvswitch-static = %{version}-%{release}
This provides static library, libopenswitch.a and the openvswitch header
files needed to build an external application.
+%package ovn
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch
+
+%description ovn
+OVN, the Open Virtual Network, is a system to support virtual network
+abstraction. OVN complements the existing capabilities of OVS to add
+native support for virtual network abstractions, such as virtual L2 and L3
+overlays and security groups.
+
%prep
%setup -q
@@ -100,13 +111,11 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
install -p -D -m 0644 \
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/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
-
+for service in openvswitch openvswitch-nonetwork ovn-controller ovn-northd; do
+ install -p -D -m 0644 \
+ rhel/usr_lib_systemd_system_${service}.service \
+ $RPM_BUILD_ROOT%{_unitdir}/${service}.service
+done
install -m 0755 rhel/etc_init.d_openvswitch \
$RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
@@ -156,6 +165,19 @@ rm -rf $RPM_BUILD_ROOT
fi
%endif
+%preun ovn
+%if 0%{?systemd_preun:1}
+ %systemd_preun ovn-controller.service
+ %systemd_preun ovn-northd.service
+%else
+ if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || :
+ /bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || :
+ /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
+ /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
+ fi
+%endif
%post
%if 0%{?systemd_post:1}
@@ -167,6 +189,16 @@ rm -rf $RPM_BUILD_ROOT
fi
%endif
+%post ovn
+%if 0%{?systemd_post:1}
+ %systemd_post ovn-controller.service
+ %systemd_post ovn-northd.service
+%else
+ # Package install, not upgrade
+ if [ $1 -eq 1 ]; then
+ /bin/systemctl daemon-reload >dev/null || :
+ fi
+%endif
%postun
%if 0%{?systemd_postun_with_restart:1}
@@ -179,6 +211,18 @@ rm -rf $RPM_BUILD_ROOT
fi
%endif
+%postun ovn
+%if 0%{?systemd_postun_with_restart:1}
+ %systemd_postun_with_restart ovn-controller.service
+ %systemd_postun_with_restart ovn-northd.service
+%else
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ if [ "$1" -ge "1" ] ; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || :
+ /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
+ fi
+%endif
%files -n python-openvswitch
%{python_sitelib}/ovs
@@ -272,6 +316,25 @@ rm -rf $RPM_BUILD_ROOT
%exclude %{_mandir}/man8/ovs-vlan-bug-workaround.8.gz
%exclude %{_datadir}/openvswitch/scripts/ovs-save
+%files ovn
+%{_bindir}/ovn-controller
+%{_bindir}/ovn-nbctl
+%{_bindir}/ovn-northd
+%{_datadir}/openvswitch/scripts/ovn-ctl
+%{_mandir}/man8/ovs-testcontroller.8*
+%{_mandir}/man5/ovn-nb.5*
+%{_mandir}/man5/ovn-sb.5*
+%{_mandir}/man7/ovn-architecture.7*
+%{_mandir}/man8/ovn-controller.8*
+%{_mandir}/man8/ovn-ctl.8*
+%{_mandir}/man8/ovn-nbctl.8*
+%config %{_datadir}/openvswitch/ovn-nb.ovsschema
+%config %{_datadir}/openvswitch/ovn-sb.ovsschema
+%{_unitdir}/ovn-controller.service
+%{_unitdir}/ovn-northd.service
+%ghost %attr(755,root,root) %{_rundir}/ovn-controller
+%ghost %attr(755,root,root) %{_rundir}/ovn-northd
+
%changelog
* Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>
- First build on F14
diff --git a/rhel/usr_lib_systemd_system_ovn-controller.service b/rhel/usr_lib_systemd_system_ovn-controller.service
new file mode 100644
index 000000000..4fdcfd22c
--- /dev/null
+++ b/rhel/usr_lib_systemd_system_ovn-controller.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OVN controller daemon
+After=syslog.target
+Requires=openvswitch.service
+After=openvswitch.service
+
+[Service]
+Type=simple
+RuntimeDirectory=ovn-controller
+RuntimeDirectoryMode=0755
+PIDFile=%t/ovn-controller/ovn-controller.pid
+Environment=OVS_RUNDIR=%t/ovn-controller
+ExecStart=/usr/bin/ovn-controller -vconsole:emer -vsyslog:err -vfile:info \
+ --log-file=/var/log/openvswitch/ovn-controller.log \
+ --no-chdir --pidfile=%t/ovn-controller/ovn-controller.pid \
+ unix:/var/run/openvswitch/db.sock
diff --git a/rhel/usr_lib_systemd_system_ovn-northd.service b/rhel/usr_lib_systemd_system_ovn-northd.service
new file mode 100644
index 000000000..fcbf6462f
--- /dev/null
+++ b/rhel/usr_lib_systemd_system_ovn-northd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=OVN northd management daemon
+After=syslog.target
+Requires=openvswitch.service
+After=openvswitch.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+RuntimeDirectory=ovn-northd
+RuntimeDirectoryMode=0755
+PIDFile=%t/ovn-northd/ovn-northd.pid
+Environment=OVN_RUNDIR=%t/ovn-northd OVS_RUNDIR=%t/openvswitch OVS_DBDIR=/var/lib/openvswitch
+ExecStart=/usr/share/openvswitch/scripts/ovn-ctl start_northd
+ExecStop=/usr/share/openvswitch/scripts/ovn-ctl stop_northd