diff options
author | Russell Bryant <rbryant@redhat.com> | 2015-06-12 12:51:24 -0400 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2015-06-15 14:21:58 -0700 |
commit | c05ea879009f8a0be3eb21581b7cadb500aebfcd (patch) | |
tree | d30f88fb641100d50db09b62cd2697d82628a9ae /rhel | |
parent | 43d3e694152cb34f65b941a97b3741dd4d42462d (diff) | |
download | openvswitch-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.mk | 4 | ||||
-rw-r--r-- | rhel/openvswitch-fedora.spec.in | 77 | ||||
-rw-r--r-- | rhel/usr_lib_systemd_system_ovn-controller.service | 16 | ||||
-rw-r--r-- | rhel/usr_lib_systemd_system_ovn-northd.service | 15 |
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 |