Adds custom tacker to build process 17/17517/3
authorTim Rozet <trozet@redhat.com>
Mon, 25 Jul 2016 16:11:51 +0000 (12:11 -0400)
committerTim Rozet <trozet@redhat.com>
Mon, 25 Jul 2016 19:41:17 +0000 (15:41 -0400)
Change-Id: I59d76fbf1de645a7310aed14704cc561142eb148
Signed-off-by: Tim Rozet <trozet@redhat.com>
build/Makefile
build/openstack-tacker.spec [new file with mode: 0644]
build/overcloud-full.sh

index 8430561..a1089a8 100644 (file)
@@ -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 (file)
index 0000000..ca5ccd9
--- /dev/null
@@ -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
index 839fdfb..2c52294 100755 (executable)
@@ -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