X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=trusty%2Fdebian%2Frules;h=1a1c202e59773971c9a45291c245177b52aae49b;hb=be18c52ac1b2a26510beadf7fa9423f85ef323c7;hp=82fe7bad01468e9262db4c5f1aba273ae0ac6e1f;hpb=eff5d7b1796a0f3b15c69cbf47b9707687c8e48a;p=openstack-build%2Fcinder-build.git diff --git a/trusty/debian/rules b/trusty/debian/rules index 82fe7bad0..1a1c202e5 100755 --- a/trusty/debian/rules +++ b/trusty/debian/rules @@ -1,36 +1,106 @@ #!/usr/bin/make -f -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - include /usr/share/openstack-pkg-tools/pkgos.make +export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog | grep Version: | cut -d' ' -f2 | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' | head -n 1) + +export DH_VERBOSE=1 %: - dh $@ --with python2,systemd,sphinxdoc + dh $@ --buildsystem=python_distutils --with python2,systemd,sphinxdoc -ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) override_dh_auto_test: - rm -rf .testrepository - testr init && \ - set -e && \ - TEMP_REZ=`mktemp -t` && \ - testr run --subunit | tee $$TEMP_REZ | subunit2pyunit; \ - rm -f $$TEMP_REZ +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) + @echo "===> Running tests" + set -e ; set -x ; for i in 2.7 ; do \ + PYMAJOR=`echo $$i | cut -d'.' -f1` ; \ + echo "===> Testing with python$$i (python$$PYMAJOR)" ; \ + rm -rf .testrepository ; \ + testr-python$$PYMAJOR init ; \ + TEMP_REZ=`mktemp -t` ; \ + PYTHONPATH=$(CURDIR) PYTHON=python$$i testr-python$$PYMAJOR run --subunit 'cinder\.tests\.unit\.(?!.*test_volume\.VolumeTestCase\.test_create_delete_volume.*)' | tee $$TEMP_REZ | subunit2pyunit ; \ + cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \ + rm -f $$TEMP_REZ ; \ + testr-python$$PYMAJOR slowest ; \ + done endif +override_dh_clean: + dh_clean -O--buildsystem=python_distutils + rm -f debian/cinder-common.config debian/cinder-common.postinst debian/cinder-api.config debian/cinder-api.postinst debian/cinder-volume.postinst + rm -rf debian/*.upstart debian/*.service + +override_dh_auto_install: + echo "Do nothing..." + override_dh_install: + python2.7 setup.py install --install-layout=deb --root $(CURDIR)/debian/tmp + + mkdir -p $(CURDIR)/debian/cinder-common/usr/share/cinder-common + PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator \ + --output-file $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf \ + --wrap-width 80 \ + --namespace cinder \ + --namespace keystonemiddleware.auth_token \ + --namespace oslo.config \ + --namespace oslo.concurrency \ + --namespace oslo.context \ + --namespace oslo.db \ + --namespace oslo.i18n \ + --namespace oslo.log \ + --namespace oslo.messaging \ + --namespace oslo.middleware \ + --namespace oslo.policy \ + --namespace oslo.reports \ + --namespace oslo.rootwrap \ + --namespace oslo.serialization \ + --namespace oslo.service \ + --namespace oslo.utils \ + --namespace oslo.versionedobjects \ + --namespace oslo.vmware +# The generator is currently missing enabled_backend and the [lvm] +# section. This script fixes it until upstream gets smarter. +# chmod +x debian/gen-fixed-config +# ./debian/gen-fixed-config +# cp etc/cinder/cinder.conf.sample $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + dh_install --fail-missing -Xbin/cinder-all - install -D -m 0440 debian/cinder_sudoers $(CURDIR)/debian/cinder-common/etc/sudoers.d/cinder-common - install -D -m 0644 $(CURDIR)/debian/logging.conf $(CURDIR)/debian/cinder-common/etc/cinder/logging.conf + install -D -m 0440 debian/cinder-common.sudoers $(CURDIR)/debian/cinder-common/etc/sudoers.d/cinder-common + + # Set a default value for lock_path & state_path + pkgos-fix-config-default $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf oslo_concurrency lock_path /var/lock/cinder + pkgos-fix-config-default $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf oslo_concurrency state_path /var/lib/cinder + + # Disable https in default setup, as this makes our CI fail + pkgos-fix-config-default $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf keystone_authtoken auth_protocol http + + # Fix the missing sql_connection directive + pkgos-fix-config-default $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf database connection sqlite:////var/lib/cinder/cinderdb + + # Put file under /etc/cinder + install -D -m 0644 $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf $(CURDIR)/debian/cinder-common/etc/cinder/cinder.conf + + # Set LVM as default backend + pkgos-fix-config-default $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf DEFAULT enabled_backends lvm + echo "[lvm]" >> $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + echo "volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver" >> $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + echo "volume_group = pkgosvg0" >> $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + echo "iscsi_protocol = iscsi" >> $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + echo "iscsi_helper = tgtadm" >> $(CURDIR)/debian/cinder-common/usr/share/cinder-common/cinder.conf + + install -D -m 0644 $(CURDIR)/etc/cinder/logging_sample.conf $(CURDIR)/debian/cinder-common/usr/share/cinder-common/logging.conf override_dh_fixperms: dh_fixperms -Xcinder_tgt.conf chmod 0440 $(CURDIR)/debian/cinder-common/etc/sudoers.d/cinder-common -override_dh_clean: - # temporary workaround for d2to1 wonkyness - dh_clean -Xsetup.cfg - rm -f debian/*.init debian/*.service debian/*.upstart +override_dh_auto_build: + dh_auto_build -O--buildsystem=python_distutils + + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func cinder-common.config + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func cinder-common.postinst + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func cinder-api.config + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func cinder-api.postinst + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func cinder-volume.postinst override_dh_sphinxdoc: ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS)))