From 22e25e8ab11a67b6a53fdf5951acaace27ab02e0 Mon Sep 17 00:00:00 2001 From: Igor Yozhikov Date: Tue, 17 Feb 2015 20:02:56 +0300 Subject: [PATCH] Build heat fro Ubuntu 14.04 * add trusty build scrtips * add patch for routes!=2 for trusty * add patch removing argparse * code source branch openstack-ci/fuel-6.1/2014.2 Change-Id: Ifca9b1134acadd6386ac98cfdd12374f5c153a6a --- trusty/debian/changelog | 299 ++++++++++++++++++ trusty/debian/compat | 1 + trusty/debian/control | 206 ++++++++++++ trusty/debian/copyright | 52 +++ trusty/debian/heat-api-cfn.init | 87 +++++ trusty/debian/heat-api-cfn.install | 1 + trusty/debian/heat-api-cfn.logrotate | 4 + trusty/debian/heat-api-cfn.postrm | 14 + trusty/debian/heat-api-cfn.upstart | 8 + trusty/debian/heat-api-cloudwatch.init | 87 +++++ trusty/debian/heat-api-cloudwatch.install | 1 + trusty/debian/heat-api-cloudwatch.logrotate | 4 + trusty/debian/heat-api-cloudwatch.postrm | 14 + trusty/debian/heat-api-cloudwatch.upstart | 8 + trusty/debian/heat-api.init | 86 +++++ trusty/debian/heat-api.install | 1 + trusty/debian/heat-api.logrotate | 4 + trusty/debian/heat-api.postrm | 14 + trusty/debian/heat-api.upstart | 8 + trusty/debian/heat-common.dirs | 5 + trusty/debian/heat-common.install | 7 + trusty/debian/heat-common.postinst | 22 ++ trusty/debian/heat-common.postrm | 15 + trusty/debian/heat-docker.dirs | 1 + trusty/debian/heat-docker.install | 1 + trusty/debian/heat-engine.init | 87 +++++ trusty/debian/heat-engine.install | 1 + trusty/debian/heat-engine.logrotate | 4 + trusty/debian/heat-engine.postinst | 12 + trusty/debian/heat-engine.postrm | 14 + trusty/debian/heat-engine.upstart | 8 + trusty/debian/patches/default-sqlite.patch | 19 ++ .../patches/requirements-built-in.patch | 19 ++ trusty/debian/patches/series | 1 + trusty/debian/patches/skip-tests.patch | 43 +++ trusty/debian/patches/sudoers_patch.patch | 17 + trusty/debian/pydist-overrides | 3 + trusty/debian/python-heat.install | 1 + trusty/debian/rules | 24 ++ trusty/debian/source/format | 1 + trusty/debian/tests/control | 3 + trusty/debian/tests/heat-daemons | 15 + trusty/debian/tests/python-heat | 14 + trusty/debian/tests/test_import_heat.py | 4 + 44 files changed, 1240 insertions(+) create mode 100644 trusty/debian/changelog create mode 100644 trusty/debian/compat create mode 100644 trusty/debian/control create mode 100644 trusty/debian/copyright create mode 100644 trusty/debian/heat-api-cfn.init create mode 100644 trusty/debian/heat-api-cfn.install create mode 100644 trusty/debian/heat-api-cfn.logrotate create mode 100644 trusty/debian/heat-api-cfn.postrm create mode 100644 trusty/debian/heat-api-cfn.upstart create mode 100644 trusty/debian/heat-api-cloudwatch.init create mode 100644 trusty/debian/heat-api-cloudwatch.install create mode 100644 trusty/debian/heat-api-cloudwatch.logrotate create mode 100644 trusty/debian/heat-api-cloudwatch.postrm create mode 100644 trusty/debian/heat-api-cloudwatch.upstart create mode 100644 trusty/debian/heat-api.init create mode 100644 trusty/debian/heat-api.install create mode 100644 trusty/debian/heat-api.logrotate create mode 100644 trusty/debian/heat-api.postrm create mode 100644 trusty/debian/heat-api.upstart create mode 100644 trusty/debian/heat-common.dirs create mode 100644 trusty/debian/heat-common.install create mode 100644 trusty/debian/heat-common.postinst create mode 100644 trusty/debian/heat-common.postrm create mode 100644 trusty/debian/heat-docker.dirs create mode 100644 trusty/debian/heat-docker.install create mode 100644 trusty/debian/heat-engine.init create mode 100644 trusty/debian/heat-engine.install create mode 100644 trusty/debian/heat-engine.logrotate create mode 100644 trusty/debian/heat-engine.postinst create mode 100644 trusty/debian/heat-engine.postrm create mode 100644 trusty/debian/heat-engine.upstart create mode 100644 trusty/debian/patches/default-sqlite.patch create mode 100644 trusty/debian/patches/requirements-built-in.patch create mode 100644 trusty/debian/patches/series create mode 100644 trusty/debian/patches/skip-tests.patch create mode 100644 trusty/debian/patches/sudoers_patch.patch create mode 100644 trusty/debian/pydist-overrides create mode 100644 trusty/debian/python-heat.install create mode 100755 trusty/debian/rules create mode 100644 trusty/debian/source/format create mode 100644 trusty/debian/tests/control create mode 100755 trusty/debian/tests/heat-daemons create mode 100755 trusty/debian/tests/python-heat create mode 100644 trusty/debian/tests/test_import_heat.py diff --git a/trusty/debian/changelog b/trusty/debian/changelog new file mode 100644 index 00000000..799f754d --- /dev/null +++ b/trusty/debian/changelog @@ -0,0 +1,299 @@ +heat (2014.2.2-fuel6.1+14.04+1) trusty; urgency=medium + + * Build from tag 2014.2.2 for Ubuntu 14.04 by Mirantis + + -- Igor Yozhikov Tue, 17 Feb 2015 19:28:11 +0400 + +heat (2014.2.b3-0ubuntu1) trusty; urgency=medium + + * update docker resource python script location according to LP 1404911 + + -- Igor Yozhikov Wed, 31 Dec 2014 12:30:05 +0400 + +heat (2014.2.b3-0ubuntu1) trusty; urgency=medium + + * update for global requirements + * fix init script (explicitly setting config file) + + -- Denis Egorenko Wed, 17 Sep 2014 19:46:19 +0400 + +heat (2014.2~b1-0ubuntu1) trusty; urgency=medium + + * updated for LP BP build from master + + -- Igor Yozhikov Fri, 4 Jul 2014 12:39:05 +0400 + +heat (2014.1.1-0ubuntu1) trusty; urgency=medium + + * Resynchronize with stable/icehouse (27557c9) (LP: #1328134): + - [368b6d3] Avoid redundant polling of DB for metadata + - [0f92683] Fix failed to delete the NovaFloatingIPAssociation resource + - [930cb3c] Fix status reason in events for deployment signals + - [4b9ff4f] Truncate status_reason to column length + - [3c560c6] Catch NotFound for keystone delete operations + - [e63baf6] Using correct attribute of exception + - [08154b0] Allow NotFound to be created without args + - [857ca78] Updated from global requirements + - [03dd894] Don't dynamically create provider types in the global env + - [937ac5a] Ignore nova limits set to '-1' + - [27557c9] Don't pass enable_snat by default in Router + * d/p/fix-requirements.patch: Drop minimum version of six to align to Ubuntu + 14.04 version. + + -- Corey Bryant Mon, 09 Jun 2014 15:09:49 -0400 + +heat (2014.1-0ubuntu1) trusty; urgency=medium + + [ Chuck Short ] + * New upstream release. (LP: #1299055) + * debian/heat-common.postinst: Create directory before changing + permissions. (LP: #1267557) + + [ Corey Bryant ] + * New upstream release (LP: #1299055). + + -- Chuck Short Thu, 17 Apr 2014 07:27:41 -0400 + +heat (2014.1~rc2-0ubuntu3) trusty; urgency=medium + + * debian/heat-common.postinst: Fix failing autopkg test. + + -- Chuck Short Mon, 14 Apr 2014 13:36:05 -0400 + +heat (2014.1~rc2-0ubuntu2) trusty; urgency=medium + + * Fix up packaging based on Ubuntu Security Team review (LP: #1267557): + - debian/control: Drop python-sendfile since it is no longer + needed. + - debian/heat-common.install: Correct permissions of /etc/heat. + - debian/patches/sudoers_patch.patch: Change the directory location + for the sudoers so that it users the standard /etc/sudoers.d + directory. + + -- Chuck Short Fri, 11 Apr 2014 15:25:44 -0400 + +heat (2014.1~rc2-0ubuntu1) trusty; urgency=medium + + * New upstream release candidate (LP: #1299055). + * debian/patches/fix-requirements.patch: Don't install + python-qpid since we use python-kombu by default (LP: #1296912). + + -- Chuck Short Thu, 10 Apr 2014 08:51:46 -0400 + +heat (2014.1~rc1-0ubuntu1) trusty; urgency=medium + + * New upstream release (LP: #1299055) + * debian/patches/use-oslo.sphinx-namespace.patch: Dropped no longer + needed. + * debian/control: Rename python-oslo.sphinx to python-oslosphinx. + + -- Chuck Short Mon, 31 Mar 2014 21:36:06 -0400 + +heat (2014.1~b3-0ubuntu1) trusty; urgency=medium + + [ Chuck Short ] + * New upstream release. + * debian/patches/adjust-dependencies.patch: Dropped no longer needed. + * debian/control: Add python-troveclient. + * debian/rules: fail to build if testsuite fails. + * debian/patches/use-oslo.sphinx-namespace.patch: Use oslo.sphinx namespace. + + [ Adam Gandelman ] + * debian/heat-engine.install: Install /etc/heat/environment.d/*. + (LP: #1285875). + + -- Chuck Short Thu, 06 Mar 2014 17:18:51 -0500 + +heat (2014.1~b2-0ubuntu1) trusty; urgency=low + + [ James Page ] + * d/p/*: Refreshed. + + [ Yolanda Robla ] + * debian/control: Added lockfile to build depends + + [ Chuck Short ] + * debian/patches/adjust-dependencies: Adjust Ubuntu dependencies. + * debian/patches/skip-tests.patch: Skip failing tests on buildds. + * debian/rules: Add pythonpath for tests. + + -- Chuck Short Thu, 23 Jan 2014 15:28:54 -0500 + +heat (2014.1~b1-0ubuntu2) trusty; urgency=low + + * debian/patches/default-sqlite.patch: Update default sqlite path to + fix heat-engine install failures. + + -- James Page Fri, 06 Dec 2013 11:26:25 +0000 + +heat (2014.1~b1-0ubuntu1) trusty; urgency=low + + [ Chuck Short ] + * New upstream release. + * debian/control: + + Open icehouse release. + + Dropped python-argparse, python-qpid, python-noseexcover, + python-nose, and python-pycryptopp + + Add versioned depends for python-pbr. + + Add python-testscenarios as a build dependency. + * debian/patches/default-sqlite.patch: Dropped no longer needed. + + [ Yolanda Robla ] + * debian/control: Added python-heatclient as a build dependency. + + -- Chuck Short Thu, 05 Dec 2013 21:17:37 -0500 + +heat (2013.2-0ubuntu1) saucy; urgency=low + + * New upstream release (LP: #1236462). + + -- Chuck Short Thu, 17 Oct 2013 09:30:24 -0400 + +heat (2013.2~rc2-0ubuntu1) saucy; urgency=low + + * New upstream release candidate (LP: #1239156). + + -- James Page Sat, 12 Oct 2013 16:53:03 +0100 + +heat (2013.2~rc1-0ubuntu1) saucy; urgency=low + + * New upstream release. + * debian/control: Dropped python-d2to1 build dependency. + + -- Chuck Short Thu, 03 Oct 2013 09:43:04 -0400 + +heat (2013.2~b3-0ubuntu1) saucy; urgency=low + + [ Chuck Short ] + * New upstream release. + * debian/control: Add python-netaddr as build-dep. + * debian/heat-common.install: Remove heat-boto and associated man-page + * debian/heat-common.install: Remove heat-cfn and associated man-page + * debian/heat-common.install: Remove heat-watch and associated man-page + * debian/patches/fix-sqlalchemy-0.8.patch: Dropped + + [ Adam Gandelman ] + * debian/patches/default-kombu.patch: Dropped. + * debian/patches/default-sqlite.patch: Refreshed. + * debian/*.install, rules: Install heat.conf.sample as common + config file in heat-common. Drop other per-package configs, they + are no longer used. + * debian/rules: Clean pbr .egg from build dir if it exists. + + -- Chuck Short Mon, 09 Sep 2013 13:10:26 -0400 + +heat (2013.2~b2.a186.g2b4b248-0ubuntu2) saucy; urgency=low + + * d/rules: Limit test execution concurrency to 1 to avoid test failures + in buildds. + + -- James Page Thu, 08 Aug 2013 15:42:32 +0100 + +heat (2013.2~b2.a186.g2b4b248-0ubuntu1) saucy; urgency=low + + [ Chuck Short ] + * debian/patches/rename-quantumclient.patch: Dropped no longer needed. + * debian/control: Add python-oslo.sphinx + + [ James Page ] + * New upstream snapshot. + * d/watch: Updated to track releases on launchpad. + * d/control: Drop BD in pep8, no longer required. + * d/control,rules: Drop use of openstack-pkg-tools, revert use of xz + compression for debs. + * d/control,*.config,*.templates,po: Drop use of debconf/dbconfig-common + to configure heat. + * d/*.upstart: Add upstart configurations for Ubuntu. + * d/p/default-kombu.patch: Switch default messaging from qpid to + kombu. + * d/p/default-sqlite.patch: Use sqlite as default database option. + * d/control: Add python-ceilometerclient to BD's. + * d/rules: Fail package build for unit test failures. + * d/*.install: Directly install configuration files to /etc/heat. + * d/control: Update VCS locations to ubuntu-server-dev branches. + * d/heat-common.{install,manpages}: Include new binaries and associated + manpages. + + -- James Page Thu, 08 Aug 2013 15:23:59 +0100 + +heat (2013.2~b2-0ubuntu4) saucy; urgency=low + + [ Chuck Short ] + * debian/rules: Enable testsuite during builds. + * debian/patches/fix-sqlalchemy-0.8.patch: Build against sqlalchemy 0.8. + * debian/patches/rename-quantumclient.patch: quantumclient -> neutronclient. + + -- Chuck Short Thu, 08 Aug 2013 01:08:42 +0000 + +heat (2013.2~b2-0ubuntu3) saucy; urgency=low + + * Resynchronize with debian, remaining changes: + - Add sqlite3 to heat-common depends to fix + an autopkgtest failure. + - Add autopkg tests. + - Pass the testsuite if it fails. + + -- Chuck Short Wed, 07 Aug 2013 10:36:33 -0400 + +heat (2013.2~b2-0ubuntu2) saucy; urgency=low + + * debian/control: Add sqlite3 to heat-common depends to fix + an autopkgtest failure. + + -- Chuck Short Tue, 06 Aug 2013 15:36:33 +0000 + +heat (2013.2~b2-0ubuntu1) saucy; urgency=low + + [ Yolanda Robla ] + * debian/tests: added autopkg tests + + [ Chuck Short ] + * New upstream release + * debian/control: + - Add python-pbr to build-depends. + - Add python-d2to to build-depends. + - Dropped python-argparse. + - Add python-six to build-depends. + - Dropped python-sendfile. + - Dropped python-nose. + - Added testrepository. + - Added python-testtools. + * debian/rules: Run testrepository instead of nosetets. + * debian/patches/removes-lxml-version-limitation-from-pip-requires.patch: Dropped + no longer needed. + * debian/patches/fix-package-version-detection-when-building-doc.patch: Dropped + no longer needed. + + -- Chuck Short Mon, 22 Jul 2013 16:22:29 -0400 + +heat (2013.1-4) unstable; urgency=low + + * Fixed the dbsync to the new thing upstream is using (it was crashing the + postinst). + * Fixed the prerm script of heat-engine that was calling dbc_go heat instead + of dbc_go heat-engine. + * Added missing dependency: python-mysqldb. + + -- Thomas Goirand Wed, 22 May 2013 23:57:49 +0800 + +heat (2013.1-3) unstable; urgency=low + + * Added missing dbconfig-common depends (Closes: #709126). Thanks to Andrea + Beckmann for the bug report. + + -- Thomas Goirand Tue, 21 May 2013 12:38:11 +0800 + +heat (2013.1-2) unstable; urgency=low + + * Uploading to unstable. + * Removes the <=2.3.5 from python-lxml requirements. + * Fix package version detection when building docs. + * Cleans doc/build on the clean target. + + -- Thomas Goirand Thu, 16 May 2013 13:15:54 +0000 + +heat (2013.1-1) experimental; urgency=low + + * Initial release (Closes: #695302). + + -- Thomas Goirand Mon, 04 Feb 2013 21:56:59 +0800 diff --git a/trusty/debian/compat b/trusty/debian/compat new file mode 100644 index 00000000..ec635144 --- /dev/null +++ b/trusty/debian/compat @@ -0,0 +1 @@ +9 diff --git a/trusty/debian/control b/trusty/debian/control new file mode 100644 index 00000000..9fe2704e --- /dev/null +++ b/trusty/debian/control @@ -0,0 +1,206 @@ +Source: heat +Section: web +Priority: optional +Maintainer: MOS Heat team +Build-Depends: + debhelper (>= 9), + python-all (>= 2.7.1), + python-pbr (>= 0.10.0), +Build-Depends-Indep: + python-pbr (>= 0.10.0), + python-babel, + python-stevedore, + python-boto, + python-ceilometerclient, + python-cinderclient, + python-coverage, + python-crypto, + python-eventlet, + python-extras, + python-glanceclient, + python-greenlet, + python-heatclient, + python-httplib2, + python-iso8601, + python-keystoneclient, + python-kombu, + python-lockfile, + python-lxml, + python-memcache, + python-migrate, + python-mox, + python-netaddr, + python-neutronclient, + python-novaclient, + python-oslo.config, + python-oslo.config, + python-oslo.i18n, + python-oslo.messaging, + python-oslo.db, + python-oslosphinx, + python-paramiko, + python-paste, + python-pastedeploy, + python-routes, + python-requests, + python-saharaclient, + python-setuptools, + python-six, + python-sphinx (>= 1.1.2), python-sphinx (<< 1.2.0) | python-sphinx (>> 1.2.0), + python-sqlalchemy, + python-swiftclient, + python-testrepository, + python-testscenarios, + python-testtools, + python-troveclient, + python-webob, + python-yaml, + testrepository +Standards-Version: 3.9.4 +Homepage: http://wiki.openstack.org/Heat +XS-Testsuite: autopkgtest + +Package: python-heat +Section: python +Architecture: all +Depends: + python-babel (>= 1.3), + python-eventlet (>= 0.15.1), + python-greenlet (>= 0.3.2), + python-httplib2 (>= 0.7.5), + python-iso8601 (>= 0.1.9), + python-keystonemiddleware (>= 1.0.0), + python-kombu (>= 2.4.8), + python-lxml (>= 2.3), + python-netaddr (>= 0.7.12), + python-oslo.config (>= 1.4.0), + python-oslo.i18n (>= 1.0.0), + python-oslo.messaging (>= 1.4.0), + python-oslo.db (>= 1.0.0), + python-pastedeploy (>= 1.5.0), + python-pbr (>= 0.10.0), + python-posix-ipc, + python-crypto (>= 2.6), + python-ceilometerclient (>= 1.0.6), + python-cinderclient (>= 1.0.7), + python-glanceclient (>= 0.14.0), + python-heatclient (>= 0.2.9), + python-keystoneclient (>= 0.10.0), + python-neutronclient (>= 1:2.3.6), + python-novaclient (>= 2.18.0), + python-saharaclient (>= 0.7.3), + python-swiftclient (>= 2.2.0), + python-troveclient (>= 1.0.4), + python-yaml (>= 3.1.0), + python-qpid, + python-requests (>= 1.2.1), + python-routes (>= 1.12.3), + python-six (>= 1.7.0), + python-sqlalchemy (>= 0.9.7), python-sqlalchemy ( << 0.9.99), + python-migrate (>= 0.9.1), python-migrate ( << 0.9.2) | python-migrate (>> 0.9.2), + python-stevedore (>= 1.0.0), + python-webob (>= 1.2.3), + python-boto (>= 2.4), + python-extras, + python-memcache, + python-mysqldb, + python-paste, + python-setuptools, + ${misc:Depends}, + ${python:Depends} +Description: OpenStack orchestration service - Python files + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the Python libraries. + +Package: heat-common +Architecture: all +Depends: + adduser, + python-heat (=${binary:Version}), + ${misc:Depends}, + ${python:Depends} +Description: OpenStack orchestration service - common files + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the common files. + +Package: heat-docker +Architecture: all +Depends: + python-docker (>= 0.7.0), + heat-engine (=${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack orchestration service docker resource + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the heat engine docker resource. + +Package: heat-engine +Architecture: all +Depends: + adduser, + heat-common (=${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack orchestration service - engine + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the heat engine, which is the core service of heat, and + which the API servers will use. + +Package: heat-api +Architecture: all +Depends: + adduser, + heat-common (=${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack orchestration service - ReST API + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the ReST API. + +Package: heat-api-cfn +Architecture: all +Depends: + adduser, + heat-common (=${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack orchestration service - CFN API + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the CloudFormation (CFN) API. + +Package: heat-api-cloudwatch +Architecture: all +Depends: + adduser, + heat-common (=${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack orchestration service - CloudWatch API + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native ReST API and a + CloudFormation-compatible Query API. + . + This package contains the CloudWatch API. diff --git a/trusty/debian/copyright b/trusty/debian/copyright new file mode 100644 index 00000000..d40f0e20 --- /dev/null +++ b/trusty/debian/copyright @@ -0,0 +1,52 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: heat +Upstream-Contact: +Source: https://github.com/openstack/heat + +Files: trusty/debian/* +Copyright: 2015 Igor Yozhikov +License: Apache-2 + +Files: debian/* +Copyright: 2012 Thomas Goirand +License: Apache-2 + +Files: * +Copyright: MOS Heat + Angus Salkeld + Zane Bitter + Steven Hardy + Steven Dake + Jenkins + Chris Alfonso + Tomas Sedovic + Steve Baker + Jeff Peeler + Ian Main + Jenkins + Steve Baker + Andrew Hutchings + Mark McLoughlin + Greg Blomquist + Eoghan Glynn + root + Monty Taylor + Jesse Andrews + Jeremy Stanley +License: Apache-2 + +License: Apache-2 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian-based systems the full text of the Apache version 2.0 license + can be found in `/usr/share/common-licenses/Apache-2.0'. diff --git a/trusty/debian/heat-api-cfn.init b/trusty/debian/heat-api-cfn.init new file mode 100644 index 00000000..112c78ee --- /dev/null +++ b/trusty/debian/heat-api-cfn.init @@ -0,0 +1,87 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: heat-api-cfn +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Heat CFN API +# Description: Heat CFN API server +### END INIT INFO + +# Author: Thomas Goirand + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Heat API" +NAME=heat-api-cfn +DAEMON=/usr/bin/heat-api-cfn +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +SYSTEM_USER=heat + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +. /lib/lsb/init-functions + +if [ ! -e /var/log/heat ] ; then + mkdir -p /var/log/heat + chown ${SYSTEM_USER} /var/log/heat +fi + +do_start () { + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1 + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2 +} + +do_stop () { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE + RETVAL="$?" + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/trusty/debian/heat-api-cfn.install b/trusty/debian/heat-api-cfn.install new file mode 100644 index 00000000..7b207c47 --- /dev/null +++ b/trusty/debian/heat-api-cfn.install @@ -0,0 +1 @@ +usr/bin/heat-api-cfn diff --git a/trusty/debian/heat-api-cfn.logrotate b/trusty/debian/heat-api-cfn.logrotate new file mode 100644 index 00000000..a533079f --- /dev/null +++ b/trusty/debian/heat-api-cfn.logrotate @@ -0,0 +1,4 @@ +/var/log/heat/api-cfn.log { + daily + missingok +} diff --git a/trusty/debian/heat-api-cfn.postrm b/trusty/debian/heat-api-cfn.postrm new file mode 100644 index 00000000..af1cb591 --- /dev/null +++ b/trusty/debian/heat-api-cfn.postrm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "${1}" = "purge" ] ; then + rm -f /etc/heat/heat-api-cfn.conf + [ -d /etc/heat ] && rmdir --ignore-fail-on-non-empty /etc/heat + rm -rf /var/log/heat/api-cfn* + [ -d /var/log/heat ] && rmdir --ignore-fail-on-non-empty /var/log/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-api-cfn.upstart b/trusty/debian/heat-api-cfn.upstart new file mode 100644 index 00000000..04fa55ea --- /dev/null +++ b/trusty/debian/heat-api-cfn.upstart @@ -0,0 +1,8 @@ +# vim: set ft=upstart ts=2 et: +description "Heat API CFN server" +author "James Page " + +start on runlevel [2345] +stop on runlevel [!2345] + +exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api-cfn diff --git a/trusty/debian/heat-api-cloudwatch.init b/trusty/debian/heat-api-cloudwatch.init new file mode 100644 index 00000000..f4f4f3e8 --- /dev/null +++ b/trusty/debian/heat-api-cloudwatch.init @@ -0,0 +1,87 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: heat-api-cloudwatch +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Heat cloudwatch API +# Description: Heat cloudwatch API server +### END INIT INFO + +# Author: Thomas Goirand + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Heat API" +NAME=heat-api-cloudwatch +DAEMON=/usr/bin/heat-api-cloudwatch +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +SYSTEM_USER=heat + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +. /lib/lsb/init-functions + +if [ ! -e /var/log/heat ] ; then + mkdir -p /var/log/heat + chown ${SYSTEM_USER} /var/log/heat +fi + +do_start () { + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1 + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2 +} + +do_stop () { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE + RETVAL="$?" + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/trusty/debian/heat-api-cloudwatch.install b/trusty/debian/heat-api-cloudwatch.install new file mode 100644 index 00000000..04ac6110 --- /dev/null +++ b/trusty/debian/heat-api-cloudwatch.install @@ -0,0 +1 @@ +/usr/bin/heat-api-cloudwatch diff --git a/trusty/debian/heat-api-cloudwatch.logrotate b/trusty/debian/heat-api-cloudwatch.logrotate new file mode 100644 index 00000000..b89b06b6 --- /dev/null +++ b/trusty/debian/heat-api-cloudwatch.logrotate @@ -0,0 +1,4 @@ +/var/log/heat/api-cloudwatch.log { + daily + missingok +} diff --git a/trusty/debian/heat-api-cloudwatch.postrm b/trusty/debian/heat-api-cloudwatch.postrm new file mode 100644 index 00000000..e2bd0e09 --- /dev/null +++ b/trusty/debian/heat-api-cloudwatch.postrm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "${1}" = "purge" ] ; then + rm -f /etc/heat/heat-api-cloudwatch.conf + [ -d /etc/heat ] && rmdir --ignore-fail-on-non-empty /etc/heat + rm -rf /var/log/heat/api-cloudwatch* + [ -d /var/log/heat ] && rmdir --ignore-fail-on-non-empty /var/log/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-api-cloudwatch.upstart b/trusty/debian/heat-api-cloudwatch.upstart new file mode 100644 index 00000000..7983c9bf --- /dev/null +++ b/trusty/debian/heat-api-cloudwatch.upstart @@ -0,0 +1,8 @@ +# vim: set ft=upstart ts=2 et: +description "Heat API Cloudwatch server" +author "James Page " + +start on runlevel [2345] +stop on runlevel [!2345] + +exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api-cloudwatch diff --git a/trusty/debian/heat-api.init b/trusty/debian/heat-api.init new file mode 100644 index 00000000..9f3db2a1 --- /dev/null +++ b/trusty/debian/heat-api.init @@ -0,0 +1,86 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: heat-api +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Heat API +# Description: Heat API server +### END INIT INFO +# Author: Thomas Goirand + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Heat API" +NAME=heat-api +DAEMON=/usr/bin/heat-api +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +SYSTEM_USER=heat + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +. /lib/lsb/init-functions + +if [ ! -e /var/log/heat ] ; then + mkdir -p /var/log/heat + chown ${SYSTEM_USER} /var/log/heat +fi + +do_start () { + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1 + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2 +} + +do_stop () { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE + RETVAL="$?" + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/trusty/debian/heat-api.install b/trusty/debian/heat-api.install new file mode 100644 index 00000000..16eff75f --- /dev/null +++ b/trusty/debian/heat-api.install @@ -0,0 +1 @@ +usr/bin/heat-api diff --git a/trusty/debian/heat-api.logrotate b/trusty/debian/heat-api.logrotate new file mode 100644 index 00000000..2a03cdbb --- /dev/null +++ b/trusty/debian/heat-api.logrotate @@ -0,0 +1,4 @@ +/var/log/heat/api.log { + daily + missingok +} diff --git a/trusty/debian/heat-api.postrm b/trusty/debian/heat-api.postrm new file mode 100644 index 00000000..de9e1c4a --- /dev/null +++ b/trusty/debian/heat-api.postrm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "${1}" = "purge" ] ; then + rm -f /etc/heat/heat-api.conf + [ -d /etc/heat ] && rmdir --ignore-fail-on-non-empty /etc/heat + rm -rf /var/log/heat/api.* + [ -d /var/log/heat ] && rmdir --ignore-fail-on-non-empty /var/log/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-api.upstart b/trusty/debian/heat-api.upstart new file mode 100644 index 00000000..af5b3221 --- /dev/null +++ b/trusty/debian/heat-api.upstart @@ -0,0 +1,8 @@ +# vim: set ft=upstart ts=2 et: +description "Heat API server" +author "James Page " + +start on runlevel [2345] +stop on runlevel [!2345] + +exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api diff --git a/trusty/debian/heat-common.dirs b/trusty/debian/heat-common.dirs new file mode 100644 index 00000000..e819f2bf --- /dev/null +++ b/trusty/debian/heat-common.dirs @@ -0,0 +1,5 @@ +var/log/heat +var/lib/heat +etc/heat +etc/heat/environment.d +etc/heat/templates diff --git a/trusty/debian/heat-common.install b/trusty/debian/heat-common.install new file mode 100644 index 00000000..26d5e765 --- /dev/null +++ b/trusty/debian/heat-common.install @@ -0,0 +1,7 @@ +/usr/bin/heat-manage +/usr/bin/heat-keystone-setup +etc/heat/policy.json +etc/heat/api-paste.ini +etc/heat/heat.conf etc/heat +etc/heat/templates/* etc/heat/templates/ +etc/heat/environment.d/* etc/heat/environment.d/ diff --git a/trusty/debian/heat-common.postinst b/trusty/debian/heat-common.postinst new file mode 100644 index 00000000..79c47746 --- /dev/null +++ b/trusty/debian/heat-common.postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] ; then + if ! getenv group heat > /dev/null 2>&1; then + addgroup --system heat >/dev/null + fi + if ! getenv passwd heat > /dev/null 2>&1; then + adduser --system --home /var/lib/heat --ingroup heat --no-create-home \ + --shell /bin/false heat + fi + chown -R heat:adm /var/log/heat + mkdir -p /etc/heat + chmod 0750 /var/log/heat /etc/heat + mkdir -p /var/lib/heat + chown heat:heat -R /var/lib/heat /etc/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-common.postrm b/trusty/debian/heat-common.postrm new file mode 100644 index 00000000..f90e6ae1 --- /dev/null +++ b/trusty/debian/heat-common.postrm @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +if [ "${1}" = "purge" ] ; then + [ -d /etc/heat ] && rmdir --ignore-fail-on-non-empty /etc/heat + rm -rf /var/log/heat/engine* + [ -d /var/log/heat ] && rmdir --ignore-fail-on-non-empty /var/log/heat + [ -d /var/lib/heat/cache ] && rmdir --ignore-fail-on-non-empty /var/lib/heat/cache + [ -d /var/lib/heat ] && rmdir --ignore-fail-on-non-empty /var/lib/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-docker.dirs b/trusty/debian/heat-docker.dirs new file mode 100644 index 00000000..aee75347 --- /dev/null +++ b/trusty/debian/heat-docker.dirs @@ -0,0 +1 @@ +/usr/lib/heat/docker diff --git a/trusty/debian/heat-docker.install b/trusty/debian/heat-docker.install new file mode 100644 index 00000000..16f88330 --- /dev/null +++ b/trusty/debian/heat-docker.install @@ -0,0 +1 @@ +contrib/heat_docker/heat_docker/* /usr/lib/heat/docker diff --git a/trusty/debian/heat-engine.init b/trusty/debian/heat-engine.init new file mode 100644 index 00000000..ba201d7e --- /dev/null +++ b/trusty/debian/heat-engine.init @@ -0,0 +1,87 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: heat-engine +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Heat Engine +# Description: Heat Engine server +### END INIT INFO + +# Author: Thomas Goirand + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Heat Engine" +NAME=heat-engine +DAEMON=/usr/bin/heat-engine +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +SYSTEM_USER=heat + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +. /lib/lsb/init-functions + +if [ ! -e /var/log/heat ] ; then + mkdir -p /var/log/heat + chown ${SYSTEM_USER} /var/log/heat +fi + +do_start () { + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1 + start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2 +} + +do_stop () { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE + RETVAL="$?" + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/trusty/debian/heat-engine.install b/trusty/debian/heat-engine.install new file mode 100644 index 00000000..20db4659 --- /dev/null +++ b/trusty/debian/heat-engine.install @@ -0,0 +1 @@ +usr/bin/heat-engine diff --git a/trusty/debian/heat-engine.logrotate b/trusty/debian/heat-engine.logrotate new file mode 100644 index 00000000..eebdeeea --- /dev/null +++ b/trusty/debian/heat-engine.logrotate @@ -0,0 +1,4 @@ +/var/log/heat/engine.log { + daily + missingok +} diff --git a/trusty/debian/heat-engine.postinst b/trusty/debian/heat-engine.postinst new file mode 100644 index 00000000..3722653e --- /dev/null +++ b/trusty/debian/heat-engine.postinst @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + + +#if [ "$1" = "configure" ] ; then +# su -s /bin/sh -c "heat-manage db_sync" heat +#fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-engine.postrm b/trusty/debian/heat-engine.postrm new file mode 100644 index 00000000..a4fe1e41 --- /dev/null +++ b/trusty/debian/heat-engine.postrm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "${1}" = "purge" ] ; then + rm -f /etc/heat/heat-engine.conf + [ -d /etc/heat ] && rmdir --ignore-fail-on-non-empty /etc/heat + rm -rf /var/log/heat/engine* + [ -d /var/log/heat ] && rmdir --ignore-fail-on-non-empty /var/log/heat +fi + +#DEBHELPER# + +exit 0 diff --git a/trusty/debian/heat-engine.upstart b/trusty/debian/heat-engine.upstart new file mode 100644 index 00000000..bd9b6348 --- /dev/null +++ b/trusty/debian/heat-engine.upstart @@ -0,0 +1,8 @@ +# vim: set ft=upstart ts=2 et: +description "Heat Engine server" +author "James Page " + +start on runlevel [2345] +stop on runlevel [!2345] + +exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-engine diff --git a/trusty/debian/patches/default-sqlite.patch b/trusty/debian/patches/default-sqlite.patch new file mode 100644 index 00000000..dcdc1915 --- /dev/null +++ b/trusty/debian/patches/default-sqlite.patch @@ -0,0 +1,19 @@ +Description: Default to using sqlite +Author: James Page +Forwarded: not-needed +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +diff --git a/etc/heat/heat.conf.sample b/etc/heat/heat.conf.sample +index d2ca058..658cb5a 100644 +--- a/etc/heat/heat.conf.sample ++++ b/etc/heat/heat.conf.sample +@@ -809,7 +809,7 @@ + # Deprecated group/name - [DEFAULT]/sql_connection + # Deprecated group/name - [DATABASE]/sql_connection + # Deprecated group/name - [sql]/connection +-#connection= ++connection=sqlite:////var/lib/heat/$sqlite_db + + # The SQL mode to be used for MySQL sessions. This option, + # including the default, overrides any server-set SQL mode. To + diff --git a/trusty/debian/patches/requirements-built-in.patch b/trusty/debian/patches/requirements-built-in.patch new file mode 100644 index 00000000..b29c6dea --- /dev/null +++ b/trusty/debian/patches/requirements-built-in.patch @@ -0,0 +1,19 @@ +--- heat/requirements.txt 2015-02-25 20:53:22.805336790 +0300 ++++ ./requirements.txt 2015-02-25 20:54:33.933336602 +0300 +@@ -3,7 +3,6 @@ + # process, which may cause wedges in the gate later. + + pbr>=0.6,!=0.7,<1.0 +-argparse + Babel>=1.3 + eventlet>=0.15.1,<0.16.0 + greenlet>=0.3.2 +@@ -34,7 +33,7 @@ + PyYAML>=3.1.0 + qpid-python + requests>=1.2.1,!=2.4.0 +-Routes>=1.12.3,!=2.0 ++Routes>=1.12.3 + six>=1.7.0 + SQLAlchemy>=0.8.4,<=0.9.99,!=0.9.0,!=0.9.1,!=0.9.2,!=0.9.3,!=0.9.4,!=0.9.5,!=0.9.6 + sqlalchemy-migrate==0.9.1 diff --git a/trusty/debian/patches/series b/trusty/debian/patches/series new file mode 100644 index 00000000..11f9a181 --- /dev/null +++ b/trusty/debian/patches/series @@ -0,0 +1 @@ +requirements-built-in.patch diff --git a/trusty/debian/patches/skip-tests.patch b/trusty/debian/patches/skip-tests.patch new file mode 100644 index 00000000..2be91ffa --- /dev/null +++ b/trusty/debian/patches/skip-tests.patch @@ -0,0 +1,43 @@ +Description: Skip tests that fail in the buildds. +Author: Chuck Short +Forwarded: No +diff --git a/heat/tests/test_server.py b/heat/tests/test_server.py +index fabd8d8..c115c85 100644 +--- a/heat/tests/test_server.py ++++ b/heat/tests/test_server.py +@@ -646,7 +646,10 @@ class ServersTest(HeatTestCase): + + update_template = copy.deepcopy(server.t) + update_template['Properties']['image'] = self.getUniqueString() +- updater = scheduler.TaskRunner(server.update, update_template) ++ try: ++ updater = scheduler.TaskRunner(server.update, update_template) ++ except: ++ self.skipTest('Skipped by Ubuntu') + self.assertRaises(resource.UpdateReplace, updater) + + def _test_server_update_image_rebuild(self, status, policy='REBUILD'): +@@ -678,7 +681,10 @@ class ServersTest(HeatTestCase): + return_server.get = activate_status.__get__(return_server) + + self.m.ReplayAll() +- scheduler.TaskRunner(server.update, update_template)() ++ try: ++ scheduler.TaskRunner(server.update, update_template)() ++ except: ++ self.skipTest('Skipped by Ubuntu') + self.assertEqual(server.state, (server.UPDATE, server.COMPLETE)) + self.m.VerifyAll() + +@@ -729,7 +735,10 @@ class ServersTest(HeatTestCase): + return_server.get = activate_status2.__get__(return_server) + self.m.ReplayAll() + updater = scheduler.TaskRunner(server.update, update_template) +- error = self.assertRaises(exception.ResourceFailure, updater) ++ try: ++ error = self.assertRaises(exception.ResourceFailure, updater) ++ except: ++ self.skipTest('Skipped by Ubuntu') + self.assertEqual( + "Error: Rebuilding server failed, status 'ERROR'", + str(error)) diff --git a/trusty/debian/patches/sudoers_patch.patch b/trusty/debian/patches/sudoers_patch.patch new file mode 100644 index 00000000..816a17f7 --- /dev/null +++ b/trusty/debian/patches/sudoers_patch.patch @@ -0,0 +1,17 @@ +Description: Change sudoers directory to be sudoers.d +Author: Chuck Short +Forwarded: Not needed. +diff -Naurp heat-2014.1.rc2.orig/heat/engine/resources/nova_utils.py heat-2014.1.rc2/heat/engine/resources/nova_utils.py +--- heat-2014.1.rc2.orig/heat/engine/resources/nova_utils.py 2014-04-10 03:27:34.000000000 -0400 ++++ heat-2014.1.rc2/heat/engine/resources/nova_utils.py 2014-04-11 15:33:08.870985000 -0400 +@@ -198,8 +198,8 @@ def build_userdata(resource, userdata=No + # + # See bug https://bugs.launchpad.net/heat/+bug/1257410 + boothook_custom_user = r"""useradd -m %s +-echo -e '%s\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers +-""" % (instance_user, instance_user) ++echo -e '%s\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers.d/heat-instance-%s ++""" % (instance_user, instance_user, instance_user) + else: + config_custom_user = '' + boothook_custom_user = '' diff --git a/trusty/debian/pydist-overrides b/trusty/debian/pydist-overrides new file mode 100644 index 00000000..c6c79ced --- /dev/null +++ b/trusty/debian/pydist-overrides @@ -0,0 +1,3 @@ +argparse python-argparse +posix_ipc python-posix-ipc +qpid_python python-qpid diff --git a/trusty/debian/python-heat.install b/trusty/debian/python-heat.install new file mode 100644 index 00000000..036c6b9d --- /dev/null +++ b/trusty/debian/python-heat.install @@ -0,0 +1 @@ +usr/lib/python*/dist-packages/* diff --git a/trusty/debian/rules b/trusty/debian/rules new file mode 100755 index 00000000..ded8fd27 --- /dev/null +++ b/trusty/debian/rules @@ -0,0 +1,24 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 +DESTDIR := $(CURDIR)/debian/heat +%: + dh $@ --with python2 + +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) +override_dh_auto_test: + PYTHONPATH=. testr init && testr run +endif + +override_dh_clean: + dh_clean + rm -rf heat.egg-info + rm -rf doc/build + find . -iname '*.pyc' -delete + rm -f run_tests.err.log + rm -rf pbr*.egg + rm -f etc/heat/heat.conf + +override_dh_install: + cp etc/heat/heat.conf.sample etc/heat/heat.conf + dh_install diff --git a/trusty/debian/source/format b/trusty/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/trusty/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/trusty/debian/tests/control b/trusty/debian/tests/control new file mode 100644 index 00000000..f691333d --- /dev/null +++ b/trusty/debian/tests/control @@ -0,0 +1,3 @@ +Tests: python-heat heat-daemons +Depends: python-heat, heat-engine, heat-api, heat-api-cfn, heat-api-cloudwatch +Restrictions: needs-root diff --git a/trusty/debian/tests/heat-daemons b/trusty/debian/tests/heat-daemons new file mode 100755 index 00000000..b4952613 --- /dev/null +++ b/trusty/debian/tests/heat-daemons @@ -0,0 +1,15 @@ +#!/bin/bash +#--------------------- +# Testing nova-daemons +#--------------------- +set -e +DAEMONS=('heat-engine' 'heat-api' 'heat-api-cfn' 'heat-api-cloudwatch') + +for daemon in "${DAEMONS[@]}"; do + if pidof -x $daemon > /dev/null; then + echo "OK" + else + echo "ERROR: ${daemon} IS NOT RUNNING" + exit 1 + fi +done diff --git a/trusty/debian/tests/python-heat b/trusty/debian/tests/python-heat new file mode 100755 index 00000000..de2504d1 --- /dev/null +++ b/trusty/debian/tests/python-heat @@ -0,0 +1,14 @@ +#!/bin/bash +#------------------------- +# Testing client utilities +#------------------------- +set -e + +result=$(python `dirname $0`/test_import_heat.py 2>&1) +if [ "$result" ]; then + echo "ERROR: PYTHON-HEAT MODULE CANNOT BE IMPORTED" + exit 1 +else + echo "OK" + exit 0 +fi diff --git a/trusty/debian/tests/test_import_heat.py b/trusty/debian/tests/test_import_heat.py new file mode 100644 index 00000000..538ccf19 --- /dev/null +++ b/trusty/debian/tests/test_import_heat.py @@ -0,0 +1,4 @@ +try: + import heat +except ImportError, e: + print "ERROR IMPORTING MODULE" -- 2.45.2