On Mon, May 04, 2015 at 05:40:46PM -0400, Russell Bryant wrote: > 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 ovncontroller > > If you want to run ovn-northd: > > # systemctl start ovnnorthd > > Both systemd units are currently set to depend on openvswitch. > Technically you could ovn-northd and ovsdb-server without ovs running > locally as well, but that will require some additional work. > > This also means that you need to configure the openvswitch service to > serve the two OVN databases, as well: That is done by running the > following commands before starting or restarting openvswitch: > > # ovn-ctl create_ovn_dbs > # cat << EOF > /etc/sysconfig/openvswitch > OPTIONS="'--extra-dbs=ovnnb.db ovnsb.db'" > EOF > > Signed-off-by: Russell Bryant <rbry...@redhat.com> > --- > rhel/automake.mk | 4 ++- > rhel/openvswitch-fedora.spec.in | 43 > +++++++++++++++++++---- > rhel/usr_lib_systemd_system_ovncontroller.service | 14 ++++++++ > rhel/usr_lib_systemd_system_ovnnorthd.service | 13 +++++++ > 4 files changed, 67 insertions(+), 7 deletions(-) > create mode 100644 rhel/usr_lib_systemd_system_ovncontroller.service > create mode 100644 rhel/usr_lib_systemd_system_ovnnorthd.service > > diff --git a/rhel/automake.mk b/rhel/automake.mk > index 9c3433b..fab3634 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_ovncontroller.service \ > + rhel/usr_lib_systemd_system_ovnnorthd.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 f3dbebf..5b4e9ef 100644 > --- a/rhel/openvswitch-fedora.spec.in > +++ b/rhel/openvswitch-fedora.spec.in > @@ -81,6 +81,19 @@ 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. Services such as DHCP are also desirable > +features. Just like OVS, OVN's design goal is to have a production-quality > +implementation that can operate at significant scale.
Perhaps remove the last sentence, but I will leave that up to you. > + > > %prep > %setup -q > @@ -98,13 +111,14 @@ 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 > +for service in openvswitch ovncontroller ovnnorthd; do > + install -p -D -m 0644 \ > + rhel/usr_lib_systemd_system_${service}.service \ > + $RPM_BUILD_ROOT%{_unitdir}/${service}.service > +done > 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 > - > + rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \ > + $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service > install -m 0755 rhel/etc_init.d_openvswitch \ Why not include openvswitch-nonetwork in that loop above? > $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init > > @@ -269,6 +283,23 @@ 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}/ovncontroller.service > +%{_unitdir}/ovnnorthd.service > + > %changelog > * Wed Jan 12 2011 Ralf Spenneberg <r...@os-s.net> > - First build on F14 > diff --git a/rhel/usr_lib_systemd_system_ovncontroller.service > b/rhel/usr_lib_systemd_system_ovncontroller.service > new file mode 100644 > index 0000000..b30bb9a > --- /dev/null > +++ b/rhel/usr_lib_systemd_system_ovncontroller.service > @@ -0,0 +1,14 @@ > +[Unit] > +Description=OVN controller daemon > +After=syslog.target > +Requires=openvswitch.service > +After=openvswitch.service > + > +[Service] > +Type=forking > +PIDFile=/var/run/openvswitch/ovn-controller.pid > +ExecStart=/usr/bin/ovn-controller -vconsole:emer -vsyslog:err -vfile:info \ > + --log-file=/var/log/openvswitch/ovn-controller.log \ > + --detach --no-chdir \ Can't we take --detach out and leave Type=simple or even remove Type=? > + --pidfile=/var/run/openvswitch/ovn-controller.pid \ > + unix:/var/run/openvswitch/db.sock > diff --git a/rhel/usr_lib_systemd_system_ovnnorthd.service > b/rhel/usr_lib_systemd_system_ovnnorthd.service > new file mode 100644 > index 0000000..7a20d59 > --- /dev/null > +++ b/rhel/usr_lib_systemd_system_ovnnorthd.service > @@ -0,0 +1,13 @@ > +[Unit] > +Description=OVN northd management daemon > +After=syslog.target > +Requires=openvswitch.service > +After=openvswitch.service > + > +[Service] > +Type=forking > +PIDFile=/var/run/openvswitch/ovn-northd.pid > +ExecStart=/usr/bin/ovn-northd -vconsole:emer -vsyslog:err -vfile:info \ > + --log-file=/var/log/openvswitch/ovn-northd.log \ > + --detach --no-chdir \ > + --pidfile=/var/run/openvswitch/ovn-northd.pid Same here. Does ovn-controller or ovn-northd the need a rundir (/var/run/) like OVS? If so, we can leave to systemd to manage the directory too. Just need to include these lines in each service above: RuntimeDirectory=<ovn-..> RuntimeDirectoryMode=0755 and fix the ownership in the spec file too: +%ghost %attr(755,root,root) %{_rundir}/<ovs-...> It's much better when comparing with the previous one. Thanks a lot for your work! fbl _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev