]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Update specs to v. 2014.1.1
authorDmitry Burmistrov <dburmistrov@mirantis.com>
Mon, 23 Jun 2014 15:56:42 +0000 (19:56 +0400)
committerDmitry Burmistrov <dburmistrov@mirantis.com>
Mon, 23 Jun 2014 15:56:42 +0000 (19:56 +0400)
13 files changed:
debian/changelog
debian/control
debian/heat-common.postinst
debian/patches/fix-requirements.patch [new file with mode: 0644]
debian/patches/series
debian/patches/sudoers_patch.patch [new file with mode: 0644]
rpm/SOURCES/0001-Switch-to-using-M2Crypto.patch
rpm/SOURCES/0002-remove-pbr-runtime-dependency.patch
rpm/SOURCES/0003-Add-heat-keystone-setup-domain-script.patch [new file with mode: 0644]
rpm/SOURCES/0003-Adjust-to-handle-parallel-installed-packages.patch [deleted file]
rpm/SOURCES/0004-Revert-Use-oslo.sphinx.patch [deleted file]
rpm/SOURCES/heat-dist.conf
rpm/SPECS/openstack-heat.spec

index 37e99bcda32a55ee0ae164160341dd9a2bb67b84..ee4ca5c0e9142233b81d0cceba518beb3b7779c8 100644 (file)
@@ -1,8 +1,59 @@
-heat (2014.1~rc1-0ubuntu1~cloud0) precise-icehouse; urgency=medium
+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
 
-  * New update for the Ubuntu Cloud Archive.
+  [ 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).
 
- -- Openstack Ubuntu Testing Bot <openstack-testing-bot@ubuntu.com>  Tue, 01 Apr 2014 00:10:11 -0400
+ -- Chuck Short <zulcss@ubuntu.com>  Thu, 10 Apr 2014 08:51:46 -0400
 
 heat (2014.1~rc1-0ubuntu1) trusty; urgency=medium
 
index 9aa525dca5509ec83326ee97aadba8270310169e..781019b02f4e42f467daf6739ba8ad9f8d4a3ce9 100644 (file)
@@ -42,9 +42,7 @@ Build-Depends-Indep:
  python-paramiko,
  python-paste,
  python-pastedeploy,
- python-qpid,
  python-routes,
- python-sendfile,
  python-setuptools,
  python-six,
  python-sphinx,
@@ -89,7 +87,6 @@ Depends:
  python-paste,
  python-pastedeploy,
  python-routes,
- python-sendfile,
  python-setuptools,
  python-six,
  python-sqlalchemy (>= 0.7.8),
index 4f1baac30c4f1cadd12bc63a9a7b0965adac9676..79c4774600e5e244c33b1000651676715c6500d0 100644 (file)
@@ -11,8 +11,8 @@ if [ "$1" = "configure" ] ; then
             --shell /bin/false heat
     fi
        chown -R heat:adm /var/log/heat
-       chmod 0750 /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
diff --git a/debian/patches/fix-requirements.patch b/debian/patches/fix-requirements.patch
new file mode 100644 (file)
index 0000000..5334520
--- /dev/null
@@ -0,0 +1,21 @@
+Description: Don't install python-qpid, and set min version of six.
+Author: Corey Bryant <corey.bryant@canonical.com>
+Forwarded: not needed.
+Index: heat/requirements.txt
+===================================================================
+--- heat.orig/requirements.txt 2014-06-13 10:13:46.164556068 -0400
++++ heat/requirements.txt      2014-06-13 11:40:08.456398077 -0400
+@@ -8,7 +8,7 @@
+ argparse
+ lxml>=2.3
+ netaddr>=0.7.6
+-six>=1.6.0
++six>=1.5.2
+ sqlalchemy-migrate>=0.8.2,!=0.8.4
+ python-novaclient>=2.17.0
+ PasteDeploy>=1.5.0
+@@ -27,4 +27,3 @@
+ paramiko>=1.9.0
+ Babel>=1.3
+ oslo.config>=1.2.0
+-qpid-python
index 2b6b02c47147026cc85a9c128ebc8f7881f947d0..b82dd3204913ba7f62687860213b065d1404a9d6 100644 (file)
@@ -1 +1,3 @@
 default-sqlite.patch
+fix-requirements.patch
+sudoers_patch.patch
diff --git a/debian/patches/sudoers_patch.patch b/debian/patches/sudoers_patch.patch
new file mode 100644 (file)
index 0000000..816a17f
--- /dev/null
@@ -0,0 +1,17 @@
+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 = ''
index 156622ddfe32166b3099477e7736d3baee7127bc..0a06ce240e0708eb3dbd9b00d747f593c1061f9c 100644 (file)
@@ -1,13 +1,13 @@
-From 738b1a510df9bad9910176c3756fc308f383f199 Mon Sep 17 00:00:00 2001
+From 7937cfc74c4178da51d0a33d8d01268340898c35 Mon Sep 17 00:00:00 2001
 From: Jeff Peeler <jpeeler@redhat.com>
 Date: Wed, 8 May 2013 12:27:35 -0400
-Subject: [PATCH 1/3] Switch to using M2Crypto
+Subject: [PATCH] Switch to using M2Crypto
 
 This patch uses M2Crypto instead of PyCrypto to perform encryption
 and decryption of user authentication information.
 ---
- heat/common/crypt.py |   32 ++++++++++++++------------------
- requirements.txt     |    2 +-
+ heat/common/crypt.py | 32 ++++++++++++++------------------
+ requirements.txt     |  2 +-
  2 files changed, 15 insertions(+), 19 deletions(-)
 
 diff --git a/heat/common/crypt.py b/heat/common/crypt.py
@@ -68,7 +68,7 @@ index c87678f..b3fdd45 100644
 +    res = cipher.update(auth[16:]) + cipher.final()
      return res
 diff --git a/requirements.txt b/requirements.txt
-index 8b41238..541dbdd 100644
+index 4b6298d..e2e6933 100644
 --- a/requirements.txt
 +++ b/requirements.txt
 @@ -1,5 +1,5 @@
@@ -78,6 +78,3 @@ index 8b41238..541dbdd 100644
  eventlet>=0.13.0
  greenlet>=0.3.2
  httplib2>=0.7.5
--- 
-1.7.9.5
-
index 2539ac918000ccdb95fa05a63cc443a91401ba2b..a364c5ecfccaa75ac99cac9fef626b89e73b6017 100644 (file)
@@ -1,10 +1,10 @@
-From dc7a36234ac6f7bbb219b7bfeeed11c69a133cd3 Mon Sep 17 00:00:00 2001
+From a41d602a988d53f469ee5bc6e6269e08557248a1 Mon Sep 17 00:00:00 2001
 From: Jeff Peeler <jpeeler@redhat.com>
 Date: Mon, 14 Oct 2013 14:30:34 -0400
-Subject: [PATCH 2/3] remove pbr runtime dependency
+Subject: [PATCH] remove pbr runtime dependency
 
 ---
- heat/version.py |   12 ++++++++++--
+ heat/version.py | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
 
 diff --git a/heat/version.py b/heat/version.py
@@ -28,6 +28,3 @@ index 4a2b021..0758e7e 100644
 +        return self.release
 +
 +version_info = VersionInfo()
--- 
-1.7.9.5
-
diff --git a/rpm/SOURCES/0003-Add-heat-keystone-setup-domain-script.patch b/rpm/SOURCES/0003-Add-heat-keystone-setup-domain-script.patch
new file mode 100644 (file)
index 0000000..502c41a
--- /dev/null
@@ -0,0 +1,143 @@
+From 1e3c89b9c233545616b13089b88bbb299bb5a693 Mon Sep 17 00:00:00 2001
+From: Jeff Peeler <jpeeler@redhat.com>
+Date: Fri, 13 Jun 2014 09:51:30 -0400
+Subject: [PATCH] Add heat-keystone-setup-domain script
+
+Resolves: rhbz#1104709
+---
+ bin/heat-keystone-setup-domain | 113 +++++++++++++++++++++++++++++++++++++++++
+ setup.cfg                      |   1 +
+ 2 files changed, 114 insertions(+)
+ create mode 100644 bin/heat-keystone-setup-domain
+
+diff --git a/bin/heat-keystone-setup-domain b/bin/heat-keystone-setup-domain
+new file mode 100644
+index 0000000..f5737e9
+--- /dev/null
++++ b/bin/heat-keystone-setup-domain
+@@ -0,0 +1,113 @@
++#!/usr/bin/env python
++#
++#    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.
++
++import logging
++import os
++import sys
++
++import keystoneclient.exceptions as kc_exception
++from keystoneclient.v3 import client
++from oslo.config import cfg
++
++logger = logging.getLogger(__name__)
++
++DEBUG = False
++USERNAME = os.environ.get('OS_USERNAME', None)
++PASSWORD = os.environ.get('OS_PASSWORD', None)
++AUTH_URL = os.environ.get('OS_AUTH_URL', '').replace('v2.0', 'v3')
++
++opts = [
++    cfg.StrOpt('stack-user-domain-name',
++               default="heat",
++               help="Name of domain to create for stack users."),
++    cfg.StrOpt('stack-domain-admin',
++               default="heat_stack_admin",
++               help="Keystone username with roles sufficient to manage users"
++                    " and projects in the stack-user-domain"),
++    cfg.StrOpt('stack-domain-admin-password',
++               help="Password to set for stack-domain-admin"),
++]
++for opt in opts:
++    cfg.CONF.register_opt(opt, cli=True)
++cfg.CONF(sys.argv[1:], project='heat', prog='heat-keystone-setup-domain')
++
++HEAT_DOMAIN_NAME = os.environ.get(
++    'HEAT_DOMAIN', cfg.CONF.stack_user_domain_name)
++HEAT_DOMAIN_ADMIN = os.environ.get('HEAT_DOMAIN_ADMIN',
++                                   cfg.CONF.stack_domain_admin)
++HEAT_DOMAIN_PASSWORD = os.environ.get('HEAT_DOMAIN_PASSWORD',
++                                      cfg.CONF.stack_domain_admin_password)
++HEAT_DOMAIN_DESCRIPTION = 'Contains users and projects created by heat'
++
++logger.debug("USERNAME=%s" % USERNAME)
++logger.debug("PASSWORD=%s" % PASSWORD)
++logger.debug("AUTH_URL=%s" % AUTH_URL)
++
++
++def main():
++    log_lvl = logging.DEBUG if DEBUG else logging.INFO
++    logging.basicConfig(
++        format="%(levelname)s (%(module)s:%(lineno)d) %(message)s",
++        level=log_lvl)
++
++    c = client.Client(debug=DEBUG,
++                      username=USERNAME,
++                      password=PASSWORD,
++                      auth_url=AUTH_URL,
++                      endpoint=AUTH_URL)
++    c.authenticate()
++
++    # Create the heat domain
++    logger.info("Creating domain %s" % HEAT_DOMAIN_NAME)
++    try:
++        heat_domain = c.domains.create(name=HEAT_DOMAIN_NAME,
++                                       description=HEAT_DOMAIN_DESCRIPTION)
++    except kc_exception.Conflict:
++        logger.warning("Domain %s already exists" % HEAT_DOMAIN_NAME)
++        heat_domain = c.domains.list(name=HEAT_DOMAIN_NAME)[0]
++        if heat_domain.name != HEAT_DOMAIN_NAME:
++            logger.error("Unexpected filtered list response, please upgrade "
++                         "keystoneclient to >= 0.5")
++            sys.exit(1)
++
++    # Create heat domain admin user
++    if not HEAT_DOMAIN_PASSWORD:
++        logger.error("Must export HEAT_DOMAIN_PASSWORD or use"
++                     " --stack-domain-admin-password")
++        sys.exit(1)
++
++    try:
++        domain_admin = c.users.create(name=HEAT_DOMAIN_ADMIN,
++                                      password=HEAT_DOMAIN_PASSWORD,
++                                      domain=heat_domain,
++                                      description="Heat domain admin")
++    except kc_exception.Conflict:
++        logger.warning("User %s already exists" % HEAT_DOMAIN_ADMIN)
++        domain_admin = c.users.list(name=HEAT_DOMAIN_ADMIN)[0]
++
++    # Make the user a domain admin
++    roles_list = c.roles.list()
++    # FIXME(shardy): seems filtering roles by name currently doesn't work
++    admin_role = [r for r in roles_list
++                  if r.name == 'admin'][0]
++    c.roles.grant(role=admin_role, user=domain_admin, domain=heat_domain)
++
++    print("\nPlease update your heat.conf with the following in [DEFAULT]\n")
++    print("stack_user_domain=%s" % heat_domain.id)
++    print("stack_domain_admin=%s" % HEAT_DOMAIN_ADMIN)
++    print("stack_domain_admin_password=%s" % HEAT_DOMAIN_PASSWORD)
++
++
++if __name__ == "__main__":
++    main()
+diff --git a/setup.cfg b/setup.cfg
+index 8cf6f86..fe6b108 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -29,6 +29,7 @@ scripts =
+       bin/heat-db-setup
+       bin/heat-engine
+       bin/heat-keystone-setup
++      bin/heat-keystone-setup-domain
+       bin/heat-manage
+ [global]
diff --git a/rpm/SOURCES/0003-Adjust-to-handle-parallel-installed-packages.patch b/rpm/SOURCES/0003-Adjust-to-handle-parallel-installed-packages.patch
deleted file mode 100644 (file)
index f51707f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From d2f32dcb8afb749985ad649d00167d834047274f Mon Sep 17 00:00:00 2001
-From: Jeff Peeler <jpeeler@redhat.com>
-Date: Tue, 2 Apr 2013 18:08:48 -0400
-Subject: [PATCH 3/3] Adjust to handle parallel installed packages
-
----
- heat/__init__.py |   33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-diff --git a/heat/__init__.py b/heat/__init__.py
-index 2e9772b..3bc3ac8 100644
---- a/heat/__init__.py
-+++ b/heat/__init__.py
-@@ -18,3 +18,36 @@ from heat.openstack.common import gettextutils
- gettextutils.install('heat')
-+
-+import sys
-+import pkg_resources
-+
-+# If there is a conflicting non egg module,
-+# i.e. an older standard system module installed,
-+# then replace it with this requirement
-+def replace_dist(requirement):
-+    try:
-+       return pkg_resources.require(requirement)
-+    except pkg_resources.VersionConflict:
-+        e = sys.exc_info()[1]
-+        dist = e.args[0]
-+        req = e.args[1]
-+        if dist.key == req.key and not dist.location.endswith('.egg'):
-+            del pkg_resources.working_set.by_key[dist.key]
-+            # We assume there is no need to adjust sys.path
-+            # and the associated pkg_resources.working_set.entries
-+            try:
-+                return pkg_resources.require(requirement)
-+            except pkg_resources.DistributionNotFound:
-+                print 'Not found, skipping', requirement
-+                return {}
-+
-+replace_dist("WebOb >= 1.0")
-+replace_dist("SQLAlchemy >= 0.6.3")
-+replace_dist("Routes >= 1.12.3")
-+replace_dist("PasteDeploy >= 1.5")
-+# This hack is needed because replace_dist() results in
-+# the standard paste module path being at the start of __path__.
-+# TODO: See can we get pkg_resources to do the right thing directly
-+import paste
-+paste.__path__.insert(0, paste.__path__.pop(-1))
--- 
-1.7.9.5
-
diff --git a/rpm/SOURCES/0004-Revert-Use-oslo.sphinx.patch b/rpm/SOURCES/0004-Revert-Use-oslo.sphinx.patch
deleted file mode 100644 (file)
index 75f5e48..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From ea29122acb62e3c8a9ff9f5f92ed3d0e8899bce7 Mon Sep 17 00:00:00 2001
-From: Dmitry Burmistrov <dburmistrov@mirantis.com>
-Date: Thu, 3 Apr 2014 22:21:25 +0400
-Subject: [PATCH] Revert Use oslo.sphinx
-
----
- doc/source/conf.py |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/source/conf.py b/doc/source/conf.py
-index 7b436c8..d659327 100644
---- a/doc/source/conf.py
-+++ b/doc/source/conf.py
-@@ -205,7 +205,7 @@ extensions = ['sphinx.ext.autodoc',
-               'sphinx.ext.pngmath',
-               'sphinx.ext.viewcode',
-               'sphinx.ext.doctest',
--              'oslosphinx',
-+              'oslo.sphinx',
-               'ext.resources']
- todo_include_todos = True
--- 
-1.7.9.5
-
index e2f22d9cacecd6b9a3c11a6e6c21e58aefa57065..77250ab20f7254683918e63d81f8393ecbe16917 100644 (file)
@@ -6,6 +6,7 @@ heat_watch_server_url = http://127.0.0.1:8003
 db_backend = heat.db.sqlalchemy.api
 log_dir = /var/log/heat
 rpc_backend = heat.openstack.common.rpc.impl_qpid
+use_stderr = False
 
 [keystone_authtoken]
 admin_tenant_name = %SERVICE_TENANT_NAME%
index f008f3142fd8a98945e673e16905ee084b626596..e80164abfb52f1db5f83582ccddf78bd45c668e0 100644 (file)
@@ -1,20 +1,18 @@
 %global release_name icehouse
-%global release_letter b
+%global release_letter rc
 %global milestone 2
-%global full_release heat-%{version}.%{release_letter}%{milestone}
-#%global full_release heat-%{version}
+%global full_release heat-%{version}
 
 %global with_doc %{!?_without_doc:1}%{?_without_doc:0}
-%global with_doc 0
 
 Name:          openstack-heat
 Summary:       OpenStack Orchestration (heat)
-Version:       2014.1
-Release:       0.5.%{release_letter}%{milestone}%{?dist}
+Version:       2014.1.1
+Release:       2.1%{?dist}
 License:       ASL 2.0
 Group:         System Environment/Base
 URL:           http://www.openstack.org
-Source0:       https://launchpad.net/heat/%{release_name}/%{release_name}-%{milestone}/+download/%{full_release}.tar.gz
+Source0:       https://launchpad.net/heat/%{release_name}/%{version}/+download/heat-%{version}.tar.gz
 Obsoletes:     heat < 7-9
 Provides:      heat
 
@@ -26,12 +24,11 @@ Source5:    openstack-heat-api-cloudwatch.init
 Source20:   heat-dist.conf
 
 #
-# patches_base=2014.1.b2
+# patches_base=2014.1.1+1
 #
 Patch0001: 0001-Switch-to-using-M2Crypto.patch
 Patch0002: 0002-remove-pbr-runtime-dependency.patch
-Patch0003: 0003-Adjust-to-handle-parallel-installed-packages.patch
-Patch0004: 0004-Revert-Use-oslo.sphinx.patch
+Patch0003: 0003-Add-heat-keystone-setup-domain-script.patch
 
 BuildArch: noarch
 BuildRequires: git
@@ -53,12 +50,12 @@ BuildRequires: python-six
 BuildRequires: PyYAML
 BuildRequires: m2crypto
 BuildRequires: python-paramiko
-BuildRequires: python-sphinx10
+BuildRequires: python-sphinx >= 1.1.2
 # These are required to build due to the requirements check added
-BuildRequires: python-paste-deploy1.5
-BuildRequires: python-routes1.12
-BuildRequires: python-sqlalchemy0.7
-BuildRequires: python-webob1.2
+BuildRequires: python-paste-deploy >= 1.5.0
+BuildRequires: python-routes >= 1.12
+BuildRequires: python-sqlalchemy >= 0.7.8
+BuildRequires: python-webob >= 1.2.3
 
 BuildRequires: python-pbr
 BuildRequires: python-d2to1
@@ -84,14 +81,18 @@ Requires: %{name}-api-cloudwatch = %{version}-%{release}
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
-%patch0004 -p1
 sed -i s/REDHATHEATVERSION/%{version}/ heat/version.py
 sed -i s/REDHATHEATRELEASE/%{release}/ heat/version.py
 
+# make doc build compatible with python-oslo-sphinx RPM
+sed -i 's/oslosphinx/oslo.sphinx/' doc/source/conf.py
+
 # Remove the requirements file so that pbr hooks don't add it
 # to distutils requires_dist config
 rm -rf {test-,}requirements.txt tools/{pip,test}-requires
 
+# Remove tests in contrib
+find contrib -name tests -type d | xargs rm -r
 
 # Programmatically update defaults in sample config
 # which is installed at /etc/heat/heat.conf
@@ -132,8 +133,8 @@ mkdir -p %{buildroot}/etc/heat/
 %if 0%{?with_doc}
 export PYTHONPATH="$( pwd ):$PYTHONPATH"
 pushd doc
-sphinx-1.0-build -b html -d build/doctrees source build/html
-sphinx-1.0-build -b man -d build/doctrees source build/man
+sphinx-build -b html -d build/doctrees source build/html
+sphinx-build -b man -d build/doctrees source build/man
 
 mkdir -p %{buildroot}%{_mandir}/man1
 install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/
@@ -203,6 +204,7 @@ Components common to all OpenStack Heat services
 %doc LICENSE
 %{_bindir}/heat-manage
 %{_bindir}/heat-keystone-setup
+%{_bindir}/heat-keystone-setup-domain
 %{python_sitelib}/heat*
 %attr(-, root, heat) %{_datadir}/heat/heat-dist.conf
 %attr(-, root, heat) %{_datadir}/heat/api-paste-dist.ini
@@ -389,6 +391,28 @@ fi
 
 
 %changelog
+* Fri Jun 13 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1.1-2.1
+- added heat-keystone-setup-domain script
+
+* Tue Jun 10 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1.1-2.0
+- updated to 2014.1.1
+- removed patch to build against python-oslo-sphinx and put change in spec
+
+* Mon May  5 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-1.1
+- Drop parallel packages
+
+* Tue Apr 22 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-1.0
+- update to icehouse final
+
+* Mon Apr 14 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.5.rc2
+- update to icehouse-rc2
+
+* Mon Apr  7 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.5.rc1
+- update to icehouse-rc1
+
+* Thu Mar  6 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.5.b3
+- update to icehouse-3
+
 * Tue Feb  4 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.5.b2
 - fix heat-manage (rhbz 1060904)