summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2016-07-25 12:11:51 -0400
committerTim Rozet <trozet@redhat.com>2016-07-25 15:41:17 -0400
commitfda3923dd7649fafed5ce050adb9d78a0e00bac4 (patch)
tree58457c3f803b4da138e83791105c29e45274eb22
parentd2eeee6cb797092ecd9ffbe22fac7b8f09314b5e (diff)
Adds custom tacker to build process
Change-Id: I59d76fbf1de645a7310aed14704cc561142eb148 Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r--build/Makefile26
-rw-r--r--build/openstack-tacker.spec74
-rwxr-xr-xbuild/overcloud-full.sh4
3 files changed, 101 insertions, 3 deletions
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
@@ -85,6 +85,28 @@ python-pep8-check:
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