From af3ffb6f8e93346cfc170d7989c457e5960d2a08 Mon Sep 17 00:00:00 2001 From: Georg Kunz Date: Sat, 31 Dec 2016 00:31:33 +0100 Subject: Including ODL shim server in RPM package This commit includes the ODL shim layer in the RPM packaging process and installs it as a system services through systemd. Moreover, this commit replaces the systemd scriptlets in the RPM spec file with temporary scripts until systemd is available on the OPNFV build servers. Change-Id: I92349f13d6c49a310279580d611e8500df4938f0 Signed-off-by: Georg Kunz --- build/Makefile | 2 +- build/rpm_specs/gluon.spec | 81 +++++++++++++++++++++++++++++++++++++++------- 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/build/Makefile b/build/Makefile index 0ba8be8..46e576f 100644 --- a/build/Makefile +++ b/build/Makefile @@ -22,7 +22,7 @@ clean-gluon: rm -rf noarch rm -f $(GLUON_TAR) rm -f openstack-proton-server.service - rm -f proton.conf + rm -f openstack-proton-shim-server.service rm -rf gluon-$(GLUON_VER) $(GLUON_TAR): diff --git a/build/rpm_specs/gluon.spec b/build/rpm_specs/gluon.spec index 946d415..6e39ab4 100644 --- a/build/rpm_specs/gluon.spec +++ b/build/rpm_specs/gluon.spec @@ -13,6 +13,7 @@ Source0: gluon.tar.gz Url: https://github.com/openstack/gluon BuildArch: noarch +# disabled until systemd is available on build servers #BuildRequires: systemd Vendor: OpenStack @@ -34,9 +35,10 @@ Requires: python2-oslo-i18n Requires: python2-wsme Requires: pytz -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +# disabled until systemd is available on build servers +#Requires(post): systemd +#Requires(preun): systemd +#Requires(postun): systemd %description OpenStack Gluon framework for NFV networking @@ -59,21 +61,33 @@ ExecStart=/usr/bin/proton-server --config-file /etc/proton/proton.conf --logfile WantedBy=multi-user.target EOF -cat << EOF > %{_builddir}/proton.conf -[DEFAULT] -state_path = /var/lib/proton -EOF +cat << EOF > %{_builddir}/openstack-proton-shim-server.service +[Unit] +Description=OpenStack Proton Shim Server +After=syslog.target network.target +[Service] +Type=simple +TimeoutStartSec=0 +Restart=always +User=proton +ExecStart=/usr/bin/proton-shim-server --config-file /etc/proton/proton-shim.conf --logfile /var/log/proton/shim.log + +[Install] +WantedBy=multi-user.target +EOF %install python setup.py install -O1 --root=%{buildroot} --record=INSTALLED_FILES --prefix=/usr mkdir -p %{buildroot}/usr/lib/systemd/system install %{_builddir}/openstack-proton-server.service %{buildroot}/usr/lib/systemd/system +install %{_builddir}/openstack-proton-shim-server.service %{buildroot}/usr/lib/systemd/system mkdir -p %{buildroot}%{_sharedstatedir}/proton mkdir -p %{buildroot}%{_localstatedir}/log/proton mkdir -p %{buildroot}%{_localstatedir}/run/proton mkdir -p %{buildroot}%{_sysconfdir}/proton -install %{_builddir}/proton.conf %{buildroot}%{_sysconfdir}/proton +install %{_builddir}/%{name}-%{version}/etc/proton/proton.conf.sample %{buildroot}%{_sysconfdir}/proton/proton.conf +install %{_builddir}/%{name}-%{version}/etc/shim/proton-shim.conf.sample %{buildroot}%{_sysconfdir}/proton/proton-shim.conf %pre @@ -83,15 +97,58 @@ if ! getent passwd proton >/dev/null; then fi exit 0 + %post -%systemd_post openstack-proton-server +# systemd scriplets disabled until systemd is available on build servers +#%systemd_post openstack-proton-server +if [ $1 -eq 1 ] ; then + # Initial installation + systemctl preset openstack-proton-server >/dev/null 2>&1 || : +fi systemctl start openstack-proton-server +# systemd scriplets disabled until systemd is available on build servers +#%systemd_post openstack-proton-shim-server +if [ $1 -eq 1 ] ; then + # Initial installation + systemctl preset openstack-proton-shim-server >/dev/null 2>&1 || : +fi +systemctl start openstack-proton-shim-server + + %preun -%systemd_preun openstack-proton-server +# systemd scriplets disabled until systemd is available on build servers +#%systemd_preun openstack-proton-server +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + systemctl --no-reload disable openstack-proton-server > /dev/null 2>&1 || : + systemctl stop openstack-proton-server > /dev/null 2>&1 || : +fi + +#%systemd_preun openstack-proton-shim-server +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + systemctl --no-reload disable openstack-proton-shim-server > /dev/null 2>&1 || : + systemctl stop openstack-proton-shim-server > /dev/null 2>&1 || : +fi + %postun -%systemd_postun_with_restart openstack-proton-server +# systemd scriplets disabled until systemd is available on build servers +#%systemd_postun_with_restart openstack-proton-server +#%systemd_postun_with_restart openstack-proton-shim-server +systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + systemctl try-restart openstack-proton-server >/dev/null 2>&1 || : +fi + +systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + systemctl try-restart openstack-proton-shim-server >/dev/null 2>&1 || : +fi + %clean rm -rf %{buildroot} @@ -99,8 +156,10 @@ rm -rf %{buildroot} %files -f INSTALLED_FILES %defattr(-,root,root) %attr(644,root,root) /usr/lib/systemd/system/openstack-proton-server.service +%attr(644,root,root) /usr/lib/systemd/system/openstack-proton-shim-server.service %dir %attr(700,proton,root) %{_sysconfdir}/proton %attr(640,proton,root) %{_sysconfdir}/proton/proton.conf +%attr(640,proton,root) %{_sysconfdir}/proton/proton-shim.conf %dir %attr(750,proton,root) %{_localstatedir}/log/proton %dir %attr(750,proton,root) %{_localstatedir}/run/proton %dir %attr(755,proton,root) %{_sharedstatedir}/proton -- cgit 1.2.3-korg