From fda3923dd7649fafed5ce050adb9d78a0e00bac4 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Mon, 25 Jul 2016 12:11:51 -0400 Subject: Adds custom tacker to build process Change-Id: I59d76fbf1de645a7310aed14704cc561142eb148 Signed-off-by: Tim Rozet --- build/Makefile | 26 ++++++++++++++-- build/openstack-tacker.spec | 74 +++++++++++++++++++++++++++++++++++++++++++++ build/overcloud-full.sh | 4 ++- 3 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 build/openstack-tacker.spec (limited to 'build') diff --git a/build/Makefile b/build/Makefile index 84305618..a1089a84 100644 --- a/build/Makefile +++ b/build/Makefile @@ -27,7 +27,7 @@ all_networks="admin_network private_network storage_network external_network api all: iso .PHONY: clean -clean: images-clean rpms-clean iso-clean +clean: images-clean rpms-clean iso-clean tacker-clean .PHONY: images images: undercloud overcloud-full overcloud-opendaylight overcloud-onos overcloud-opendaylight-sfc @@ -84,6 +84,28 @@ python-pep8-check: pep8 ../lib/python pep8 ../tests +############### +# TACKER # +############### + +.PHONY: tacker-clean + +tacker-clean: + @rm -rf openstack-tacker-2015.2 + @rm -f openstack-tacker.tar.gz + +openstack-tacker.tar.gz: + @echo "Preparing the Tacker RPM prerequisites" + git clone http://github.com/trozet/tacker -b SFC_colorado openstack-tacker-2015.2 + tar czf openstack-tacker.tar.gz openstack-tacker-2015.2 + +.PHONY: tacker-rpm +tacker-rpm: openstack-tacker.tar.gz openstack-tacker-2015.2-1.noarch.rpm + +openstack-tacker-2015.2-1.noarch.rpm: + @echo "Building the Tacker RPM" + rpmbuild --clean -bb --target noarch openstack-tacker.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' + ############### # UNDERCLOUD # ############### @@ -129,7 +151,7 @@ overcloud-full-clean: .PHONY: overcloud-full overcloud-full: images/overcloud-full.qcow2 -images/overcloud-full.qcow2: +images/overcloud-full.qcow2: tacker-rpm @echo "Building the Apex Base Overcloud Image" @./overcloud-full.sh diff --git a/build/openstack-tacker.spec b/build/openstack-tacker.spec new file mode 100644 index 00000000..ca5ccd9a --- /dev/null +++ b/build/openstack-tacker.spec @@ -0,0 +1,74 @@ +%define debug_package %{nil} + +Name: openstack-tacker +Version: 2015.2 +Release: 1 +Summary: OpenStack servicevm/device manager + +Group: Applications/Internet +License: Apache 2.0 +URL: https://wiki.openstack.org/wiki/Tacker/Installation +Source0: openstack-tacker.tar.gz + +BuildArch: noarch +BuildRequires: python-setuptools +#Requires: pbr>=0.8 Paste PasteDeploy>=1.5.0 Routes>=1.12.3!=2.0 anyjson>=0.3.3 argparse +#Requires: Babel>=1.3 eventlet>=0.16.1!=0.17.0 greenlet>=0.3.2 httplib2>=0.7.5 requests>=2.2.0!=2.4.0 +#Requires: iso8601>=0.1.9 kombu>=2.5.0 netaddr>=0.7.12 SQLAlchemy<1.1.0>=0.9.7 +#Requires: WebOb>=1.2.3 python-heatclient>=0.3.0 python-keystoneclient>=1.1.0 alembic>=0.7.2 six>=1.9.0 +#Requires: stevedore>=1.5.0 http oslo.config>=1.11.0 oslo.messaging!=1.17.0!=1.17.1>=1.16.0 oslo.rootwrap>=2.0.0 python-novaclient>=2.22.0 + +%description +OpenStack servicevm/device manager + +%prep +%setup -q + + +%build +rm requirements.txt +#/usr/bin/python setup.py build + + +%install +/usr/bin/python setup.py install --prefix=%{buildroot} --install-lib=%{buildroot}/usr/lib/python2.7/site-packages +#remove tests +rm -rf %{buildroot}/usr/lib/python2.7/site-packages/tacker/tests + +install -p -D -m 644 apex/systemd/openstack-tacker.service %{buildroot}%{_unitdir}/openstack-tacker.service + +install -d -m 755 %{buildroot}%{_localstatedir}/cache/tacker +install -d -m 755 %{buildroot}%{_sharedstatedir}/tacker +install -d -m 755 %{buildroot}%{_localstatedir}/log/tacker + +%pre +getent group tacker >/dev/null || groupadd -r tacker +if ! getent passwd tacker >/dev/null; then + useradd -r -g tacker -G tacker,nobody -d %{_sharedstatedir}/tacker -s /sbin/nologin -c "OpenStack Tacker Daemon" tacker +fi +exit 0 + +%post +%systemd_post openstack-tacker + +%preun +%systemd_preun openstack-tacker + +%postun +%systemd_postun_with_restart openstack-tacker + +%files +/bin/tacker-server +/bin/tacker-db-manage +/bin/tacker-rootwrap +/etc/init.d/tacker-server +%{_unitdir}/openstack-tacker.service +/etc/rootwrap.d/servicevm.filters +%config(noreplace) %attr(-, root, tacker) %{_sysconfdir}/tacker/* +/usr/lib/python2.7/site-packages/tacker/* +/usr/lib/python2.7/site-packages/tacker-* +%dir %attr(0750, tacker, root) %{_localstatedir}/cache/tacker +%dir %attr(0750, tacker, root) %{_sharedstatedir}/tacker +%dir %attr(0750, tacker, root) %{_localstatedir}/log/tacker + +%changelog diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 839fdfb4..2c522943 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -134,7 +134,9 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --upload vsperf.tar.gz:/var/opt \ --run-command "cd /var/opt && tar xzf vsperf.tar.gz" \ --upload /tmp/tacker.repo:/etc/yum.repos.d/ \ - --install "openstack-tacker,python-tackerclient" \ + --install "python-tackerclient" \ + --upload ../noarch/openstack-tacker-2015.2-1.noarch.rpm:/root/ \ + --install /root/openstack-tacker-2015.2-1.noarch.rpm \ --upload puppet-tacker.tar.gz:/etc/puppet/modules/ \ --run-command "cd /etc/puppet/modules/ && tar xzf puppet-tacker.tar.gz" \ -a overcloud-full_build.qcow2 -- cgit 1.2.3-korg