--- /dev/null
+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 <iyozhikov@mirantis.com> 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 <iyozhikov@mirantis.com> 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 <degorenko@mirantis.com> 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 <iyozhikov@mirantis.com> 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 <corey.bryant@canonical.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <james.page@ubuntu.com> 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 <zulcss@ubuntu.com> Thu, 05 Dec 2013 21:17:37 -0500
+
+heat (2013.2-0ubuntu1) saucy; urgency=low
+
+ * New upstream release (LP: #1236462).
+
+ -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Oct 2013 09:30:24 -0400
+
+heat (2013.2~rc2-0ubuntu1) saucy; urgency=low
+
+ * New upstream release candidate (LP: #1239156).
+
+ -- James Page <james.page@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <james.page@ubuntu.com> 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 <james.page@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zulcss@ubuntu.com> 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 <zigo@debian.org> 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 <zigo@debian.org> 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 <zigo@debian.org> Thu, 16 May 2013 13:15:54 +0000
+
+heat (2013.1-1) experimental; urgency=low
+
+ * Initial release (Closes: #695302).
+
+ -- Thomas Goirand <zigo@debian.org> Mon, 04 Feb 2013 21:56:59 +0800
--- /dev/null
+Source: heat
+Section: web
+Priority: optional
+Maintainer: MOS Heat team <mos-heat@mirantis.com>
+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.
--- /dev/null
+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 <iyozhikov@mirantis.com>
+License: Apache-2
+
+Files: debian/*
+Copyright: 2012 Thomas Goirand <zigo@debian.org>
+License: Apache-2
+
+Files: *
+Copyright: MOS Heat <mos-heat@mirnatis.com>
+ Angus Salkeld <asalkeld@redhat.com>
+ Zane Bitter <zbitter@redhat.com>
+ Steven Hardy <shardy@redhat.com>
+ Steven Dake <sdake@redhat.com>
+ Jenkins <jenkins@review.openstack.org>
+ Chris Alfonso <calfonso@redhat.com>
+ Tomas Sedovic <tomas@sedovic.cz>
+ Steve Baker <sbaker@redhat.com>
+ Jeff Peeler <jpeeler@redhat.com>
+ Ian Main <imain@redhat.com>
+ Jenkins <jenkins@review.stackforge.org>
+ Steve Baker <steve@stevebaker.org>
+ Andrew Hutchings <andrew@linuxjedi.co.uk>
+ Mark McLoughlin <markmc@redhat.com>
+ Greg Blomquist <gblomqui@redhat.com>
+ Eoghan Glynn <eglynn@redhat.com>
+ root <root@zbitter.fedora>
+ Monty Taylor <mordred@inaugust.com>
+ Jesse Andrews <anotherjesse@gmail.com>
+ Jeremy Stanley <fungi@yuggoth.org>
+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'.
--- /dev/null
+#!/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 <zigo@debian.or>
+
+# 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
--- /dev/null
+usr/bin/heat-api-cfn
--- /dev/null
+/var/log/heat/api-cfn.log {
+ daily
+ missingok
+}
--- /dev/null
+#!/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
--- /dev/null
+# vim: set ft=upstart ts=2 et:
+description "Heat API CFN server"
+author "James Page <james.page@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api-cfn
--- /dev/null
+#!/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 <zigo@debian.or>
+
+# 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
--- /dev/null
+/usr/bin/heat-api-cloudwatch
--- /dev/null
+/var/log/heat/api-cloudwatch.log {
+ daily
+ missingok
+}
--- /dev/null
+#!/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
--- /dev/null
+# vim: set ft=upstart ts=2 et:
+description "Heat API Cloudwatch server"
+author "James Page <james.page@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api-cloudwatch
--- /dev/null
+#!/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 <zigo@debian.or>
+
+# 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
--- /dev/null
+usr/bin/heat-api
--- /dev/null
+/var/log/heat/api.log {
+ daily
+ missingok
+}
--- /dev/null
+#!/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
--- /dev/null
+# vim: set ft=upstart ts=2 et:
+description "Heat API server"
+author "James Page <james.page@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-api
--- /dev/null
+var/log/heat
+var/lib/heat
+etc/heat
+etc/heat/environment.d
+etc/heat/templates
--- /dev/null
+/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/
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+/usr/lib/heat/docker
--- /dev/null
+contrib/heat_docker/heat_docker/* /usr/lib/heat/docker
--- /dev/null
+#!/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 <zigo@debian.or>
+
+# 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
--- /dev/null
+usr/bin/heat-engine
--- /dev/null
+/var/log/heat/engine.log {
+ daily
+ missingok
+}
--- /dev/null
+#!/bin/sh
+
+set -e
+
+
+#if [ "$1" = "configure" ] ; then
+# su -s /bin/sh -c "heat-manage db_sync" heat
+#fi
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+#!/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
--- /dev/null
+# vim: set ft=upstart ts=2 et:
+description "Heat Engine server"
+author "James Page <james.page@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+exec start-stop-daemon --start --chuid heat --exec /usr/bin/heat-engine
--- /dev/null
+Description: Default to using sqlite
+Author: James Page <james.page@ubuntu.com>
+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=<None>
++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
+
--- /dev/null
+--- 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
--- /dev/null
+requirements-built-in.patch
--- /dev/null
+Description: Skip tests that fail in the buildds.
+Author: Chuck Short <zulcss@ubuntu.com>
+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))
--- /dev/null
+Description: Change sudoers directory to be sudoers.d
+Author: Chuck Short <zulcss@ubuntu.com>
+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 = ''
--- /dev/null
+argparse python-argparse
+posix_ipc python-posix-ipc
+qpid_python python-qpid
--- /dev/null
+usr/lib/python*/dist-packages/*
--- /dev/null
+#!/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
--- /dev/null
+3.0 (quilt)
--- /dev/null
+Tests: python-heat heat-daemons
+Depends: python-heat, heat-engine, heat-api, heat-api-cfn, heat-api-cloudwatch
+Restrictions: needs-root
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+try:
+ import heat
+except ImportError, e:
+ print "ERROR IMPORTING MODULE"