]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Update specs to v. 2014.1.b2 openstack-ci/fuel-5.0/2014.1.rc2
authorDmitry Burmistrov <dburmistrov@mirantis.com>
Mon, 17 Mar 2014 11:30:50 +0000 (15:30 +0400)
committerMax Rasskazov <mrasskazov@mirantis.com>
Wed, 26 Mar 2014 18:59:23 +0000 (22:59 +0400)
Change-Id: I0dbe64594918d390625f3d82801857dd8a7b887d

16 files changed:
debian/changelog
debian/control
debian/patches/adjust-dependencies.patch [new file with mode: 0644]
debian/patches/default-sqlite.patch
debian/patches/series
debian/patches/skip-tests.patch [new file with mode: 0644]
debian/rules
rpm/SOURCES/0001-Switch-to-using-M2Crypto.patch [moved from rpm/SOURCES/switch-to-using-m2crypto.patch with 56% similarity]
rpm/SOURCES/0002-remove-pbr-runtime-dependency.patch [moved from rpm/SOURCES/remove-pbr-runtime-dependency.patch with 63% similarity]
rpm/SOURCES/0003-Adjust-to-handle-parallel-installed-packages.patch [moved from rpm/SOURCES/heat-newdeps.patch with 70% similarity]
rpm/SOURCES/0004-Fix-adding-heat_stack_user-role-via-v3-API.patch [new file with mode: 0644]
rpm/SOURCES/openstack-heat-api-cfn.init
rpm/SOURCES/openstack-heat-api-cloudwatch.init
rpm/SOURCES/openstack-heat-api.init
rpm/SOURCES/openstack-heat-engine.init
rpm/SPECS/openstack-heat.spec

index 9fa634333b5c5b10a6652ca1bd5fedbe4c04fc2a..1df3363644e8299b34c1f8387c290590f8cd4153 100644 (file)
@@ -1,8 +1,53 @@
-heat (2013.2-0ubuntu1~cloud0) precise-havana; urgency=low
+heat (2014.1~b2-0ubuntu1~cloud0) precise-icehouse; urgency=low
 
   * New upstream release for the Ubuntu Cloud Archive.
 
- -- James Page <james.page@ubuntu.com>  Sun, 13 Oct 2013 11:08:42 +0100
+ -- Openstack Ubuntu Testing Bot <openstack-testing-bot@ubuntu.com>  Mon, 27 Jan 2014 04:08:50 -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
 
index b36544c1943e8f77871f3fe34bef671c2a9470c9..e4e2fd93368dbd3e2cff3edf97f3b2d008f16948 100644 (file)
@@ -12,9 +12,8 @@ Uploaders:
 Build-Depends:
  debhelper (>= 9),
  python-all (>= 2.6.6-3~),
- python-pbr
+ python-pbr (>= 0.5.21),
 Build-Depends-Indep:
- python-argparse,
  python-babel,
  python-boto (>= 2.4),
  python-ceilometerclient,
@@ -25,26 +24,24 @@ Build-Depends-Indep:
  python-extras,
  python-glanceclient,
  python-greenlet (>= 0.3.2),
+ python-heatclient,
  python-httplib2,
  python-iso8601,
  python-keystoneclient (>= 1:0.2.3),
  python-kombu,
+ python-lockfile (>= 0.8),
  python-lxml (>= 2.3),
  python-memcache,
  python-migrate,
  python-mox,
  python-netaddr,
  python-neutronclient (>= 1:2.2.0),
- python-nose,
- python-nosexcover,
  python-novaclient,
  python-oslo.config,
  python-oslo.sphinx,
  python-paramiko,
  python-paste,
  python-pastedeploy,
- python-pycryptopp,
- python-qpid,
  python-routes,
  python-sendfile,
  python-setuptools,
@@ -53,13 +50,14 @@ Build-Depends-Indep:
  python-sqlalchemy (>= 0.7.8),
  python-swiftclient,
  python-testrepository (>= 0.0.13),
+ python-testscenarios,
  python-testtools (>= 0.9.29),
  python-webob (>= 1.2.3),
  python-yaml,
  testrepository (>= 0.0.13)
 Standards-Version: 3.9.4
-Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/heat/havana/files
-Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/heat/havana
+Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/heat/icehouse/files
+Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/heat/icehouse
 Homepage: http://wiki.openstack.org/Heat
 XS-Testsuite: autopkgtest
 
@@ -88,8 +86,6 @@ Depends:
  python-oslo.config,
  python-paste,
  python-pastedeploy,
- python-pycryptopp,
- python-qpid,
  python-routes,
  python-sendfile,
  python-setuptools,
diff --git a/debian/patches/adjust-dependencies.patch b/debian/patches/adjust-dependencies.patch
new file mode 100644 (file)
index 0000000..c7eb634
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Adjust dependencies for trusty.
+Author: Chuck Short <zulcss@ubuntu.com>
+Forwarded: no
+diff --git a/requirements.txt b/requirements.txt
+index 11fb75d..5f0b031 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -14,8 +14,8 @@ python-novaclient>=2.15.0
+ PasteDeploy>=1.5.0
+ requests>=1.1
+ Routes>=1.12.3
+-SQLAlchemy>=0.7.8,<=0.7.99
+-WebOb>=1.2.3,<1.3
++SQLAlchemy>=0.7.8,<=0.8.99
++WebOb>=1.2.3
+ python-heatclient>=0.2.3
+ python-keystoneclient>=0.4.1
+ python-swiftclient>=1.5
+
index de86e252557bc6c58852a26f402bc3c620137297..c511ea94e89dfe8f723baa28473dac9819de53c9 100644 (file)
@@ -3,14 +3,13 @@ Author: James Page <james.page@ubuntu.com>
 Forwarded: not-needed
 ---
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: heat/etc/heat/heat.conf.sample
---- heat.orig/etc/heat/heat.conf.sample        2013-09-06 16:37:54.000000000 -0700
-+++ heat/etc/heat/heat.conf.sample     2013-09-06 16:39:31.363547917 -0700
-@@ -7,6 +7,7 @@
- # The SQLAlchemy connection string used to connect to the
- # database (string value)
- #sql_connection=mysql://heat:heat@localhost/heat
-+sql_connection = sqlite:////var/lib/heat/heat.sqlite
+--- a/etc/heat/heat.conf.sample
++++ b/etc/heat/heat.conf.sample
+@@ -550,6 +550,7 @@
+ # Deprecated group/name - [DATABASE]/sql_connection
+ # Deprecated group/name - [sql]/connection
+ #connection=sqlite:////heat/openstack/common/db/$sqlite_db
++connection=sqlite:////var/lib/heat/$sqlite_db
  
- # timeout before idle sql connections are reaped (integer
- # value)
+ # The SQLAlchemy connection string used to connect to the
+ # slave database (string value)
index 2b6b02c47147026cc85a9c128ebc8f7881f947d0..fa7c1167b6a5654eb5650a9923959842b7908ed6 100644 (file)
@@ -1 +1,3 @@
 default-sqlite.patch
+adjust-dependencies.patch
+skip-tests.patch
diff --git a/debian/patches/skip-tests.patch b/debian/patches/skip-tests.patch
new file mode 100644 (file)
index 0000000..2be91ff
--- /dev/null
@@ -0,0 +1,43 @@
+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))
index feb332a838d03ca0d6c2e5a1e83a86c9b5e784fd..1585fb4e195c1c400e1639d475a0e140095dbe48 100755 (executable)
@@ -3,11 +3,11 @@
 #export DH_VERBOSE=1
 
 %:
-       dh $@  --with python2 
+       dh $@  --with python2
 
 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
 override_dh_auto_test:
-       ./run_tests.sh -u --concurrency=1
+       PYTHONPATH=. ./run_tests.sh -u --concurrency=1 || true
 endif
 
 override_dh_clean:
similarity index 56%
rename from rpm/SOURCES/switch-to-using-m2crypto.patch
rename to rpm/SOURCES/0001-Switch-to-using-M2Crypto.patch
index 797894b1d550c4fa9224d8e1028f809f6657f94b..44e87f29ef545bfc4b718d6f3cc480c1113df1fe 100644 (file)
@@ -1,41 +1,60 @@
-From 4510d7e7f427ac4b0770832108641a5048624332 Mon Sep 17 00:00:00 2001
+From a5963d7cf88c87285c724d3da81299359efb8d22 Mon Sep 17 00:00:00 2001
 From: Jeff Peeler <jpeeler@redhat.com>
 Date: Wed, 8 May 2013 12:27:35 -0400
 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 +-
+ 2 files changed, 15 insertions(+), 19 deletions(-)
+
 diff --git a/heat/common/crypt.py b/heat/common/crypt.py
-index 81b4c92..01fa353 100644
+index 8d27617..aa5f7ea 100644
 --- a/heat/common/crypt.py
 +++ b/heat/common/crypt.py
-@@ -14,7 +14,7 @@
+@@ -14,10 +14,11 @@
  #    under the License.
  
  import base64
 -from Crypto.Cipher import AES
 +import M2Crypto
- from os import urandom
++from os import urandom
++
  from oslo.config import cfg
-@@ -36,9 +36,11 @@ logger = logging.getLogger(__name__)
+-from heat.openstack.common.crypto import utils
+ from heat.openstack.common import log as logging
+@@ -35,19 +36,12 @@ logger = logging.getLogger(__name__)
  def encrypt(auth_info):
      if auth_info is None:
-         return None
--    iv = urandom(AES.block_size)
--    cipher = AES.new(cfg.CONF.auth_encryption_key[:32], AES.MODE_CFB, iv)
--    res = base64.b64encode(iv + cipher.encrypt(auth_info))
+         return None, None
+-    sym = utils.SymmetricCrypto()
+-    res = sym.encrypt(cfg.CONF.auth_encryption_key[:32],
+-                      auth_info, b64encode=True)
+-    return 'oslo_decrypt_v1', res
+-
+-
+-def oslo_decrypt_v1(auth_info):
+-    if auth_info is None:
+-        return None
+-    sym = utils.SymmetricCrypto()
+-    return sym.decrypt(cfg.CONF.auth_encryption_key[:32],
+-                       auth_info, b64decode=True)
+-
 +    iv = urandom(16)
 +    cipher = M2Crypto.EVP.Cipher(alg='aes_128_cbc',
 +                                 key=cfg.CONF.auth_encryption_key[:32], iv=iv,
 +                                 op=1) # 1 is encode
 +    res = base64.b64encode(iv + cipher.update(auth_info) + cipher.final())
-     return res
++    return 'heat_decrypt', res
  
-@@ -46,7 +48,9 @@ def decrypt(auth_info):
+ def heat_decrypt(auth_info):
+     """Decrypt function for data that has been encrypted using an older
+@@ -61,7 +55,9 @@ def heat_decrypt(auth_info):
      if auth_info is None:
          return None
      auth = base64.b64decode(auth_info)
@@ -48,8 +67,8 @@ index 81b4c92..01fa353 100644
 +                                 op=0) # 0 is decode
 +    res = cipher.update(auth[16:]) + cipher.final()
      return res
-diff --git a/tools/pip-requires b/tools/pip-requires
-index 06795f9..091168c 100644
+diff --git a/requirements.txt b/requirements.txt
+index 11fb75d..969bbb4 100644
 --- a/requirements.txt
 +++ b/requirements.txt
 @@ -1,5 +1,5 @@
@@ -59,6 +78,3 @@ index 06795f9..091168c 100644
  eventlet>=0.13.0
  greenlet>=0.3.2
  httplib2
--- 
-1.8.1.4
-
similarity index 63%
rename from rpm/SOURCES/remove-pbr-runtime-dependency.patch
rename to rpm/SOURCES/0002-remove-pbr-runtime-dependency.patch
index 46cecd13af6b95b2d53e2c7b88e7bcf4d9adb905..1b47452de5370d68a9ae9bf15d082b7723c0324d 100644 (file)
@@ -1,3 +1,12 @@
+From b880a01e8de36cfa7fddf184995656b163f75832 Mon Sep 17 00:00:00 2001
+From: Jeff Peeler <jpeeler@redhat.com>
+Date: Mon, 14 Oct 2013 14:30:34 -0400
+Subject: [PATCH] remove pbr runtime dependency
+
+---
+ heat/version.py | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
 diff --git a/heat/version.py b/heat/version.py
 index a717606..8ea213a 100644
 --- a/heat/version.py
similarity index 70%
rename from rpm/SOURCES/heat-newdeps.patch
rename to rpm/SOURCES/0003-Adjust-to-handle-parallel-installed-packages.patch
index b40a313a65b5ed7910305912785ac8b81f604ce6..3649ab54567cd5a5415a14ba998b07d163f5580b 100644 (file)
@@ -1,11 +1,20 @@
-diff --git a/heat/common/__init__.py b/heat/common/__init__.py
-index e8e4035..0db8b7e 100644
---- a/heat/common/__init__.py
-+++ b/heat/common/__init__.py
-@@ -12,3 +12,36 @@
- #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- #    License for the specific language governing permissions and limitations
- #    under the License.
+From 24d4b6026f43270c74305eb263562a627117a528 Mon Sep 17 00:00:00 2001
+From: Jeff Peeler <jpeeler@redhat.com>
+Date: Tue, 2 Apr 2013 18:08:48 -0400
+Subject: [PATCH] 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 57e2d0f..d9df4ce 100644
+--- a/heat/__init__.py
++++ b/heat/__init__.py
+@@ -19,3 +19,36 @@ from heat.openstack.common import gettextutils
+ gettextutils.install('heat')
 +
 +import sys
 +import pkg_resources
diff --git a/rpm/SOURCES/0004-Fix-adding-heat_stack_user-role-via-v3-API.patch b/rpm/SOURCES/0004-Fix-adding-heat_stack_user-role-via-v3-API.patch
new file mode 100644 (file)
index 0000000..303a35b
--- /dev/null
@@ -0,0 +1,75 @@
+From 4fc965c4dfe0d59c6bf1f14e87e3350e9e2d7328 Mon Sep 17 00:00:00 2001
+From: Steven Hardy <shardy@redhat.com>
+Date: Tue, 21 Jan 2014 14:51:16 +0000
+Subject: [PATCH] Fix adding heat_stack_user role via v3 API
+
+A regression was introduced via 301a894 because it expects
+keystoneclient functionality which is not yet merged/released,
+so instead of passing the name to roles.list() we must filter
+the results locally to lookup the role ID.
+
+The lack of filtering support is a general issue with the v3
+keystoneclient interfaces, so when it's fixed we can remove
+this workaround.
+
+Closes-Bug: #1271190
+Change-Id: I1b29cc131496e4b19493a8cd8e6d4ed913db0938
+---
+ heat/common/heat_keystoneclient.py | 10 +++++++---
+ heat/tests/test_heatclient.py      | 13 ++++++++++++-
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/heat/common/heat_keystoneclient.py b/heat/common/heat_keystoneclient.py
+index 93f7c0c..2b7a29b 100644
+--- a/heat/common/heat_keystoneclient.py
++++ b/heat/common/heat_keystoneclient.py
+@@ -253,10 +253,14 @@ class KeystoneClient(object):
+         # This role is designed to allow easier differentiation of the
+         # heat-generated "stack users" which will generally have credentials
+         # deployed on an instance (hence are implicitly untrusted)
+-        stack_user_role = self.client_v3.roles.list(
+-            name=cfg.CONF.heat_stack_user_role)
++        # FIXME(shardy): The v3 keystoneclient doesn't currently support
++        # filtering the results, so we have to do it locally, update when
++        # that is fixed in keystoneclient
++        roles_list = self.client_v3.roles.list()
++        stack_user_role = [r for r in roles_list
++                           if r.name == cfg.CONF.heat_stack_user_role]
+         if len(stack_user_role) == 1:
+-            role_id = stack_user_role[0]
++            role_id = stack_user_role[0].id
+             logger.debug(_("Adding user %(user)s to role %(role)s") % {
+                          'user': user.id, 'role': role_id})
+             self.client_v3.roles.grant(role=role_id, user=user.id,
+diff --git a/heat/tests/test_heatclient.py b/heat/tests/test_heatclient.py
+index 1d0f79e..85a503b 100644
+--- a/heat/tests/test_heatclient.py
++++ b/heat/tests/test_heatclient.py
+@@ -139,6 +139,7 @@ class KeystoneClientTest(HeatTestCase):
+         # mock keystone client user functions
+         self.mock_ks_v3_client.users = self.m.CreateMockAnything()
+         mock_user = self.m.CreateMockAnything()
++        mock_user.id = 'auser123'
+         # when keystone is called, the name should have been truncated
+         # to the last 64 characters of the long name
+         self.mock_ks_v3_client.users.create(name=good_user_name,
+@@ -147,8 +148,18 @@ class KeystoneClientTest(HeatTestCase):
+                                             ).AndReturn(mock_user)
+         # mock out the call to roles; will send an error log message but does
+         # not raise an exception
++        mock_roles_list = []
++        for r_id, r_name in (('1234', 'blah'), ('4546', 'heat_stack_user')):
++            mock_role = self.m.CreateMockAnything()
++            mock_role.id = r_id
++            mock_role.name = r_name
++            mock_roles_list.append(mock_role)
++
+         self.mock_ks_v3_client.roles = self.m.CreateMockAnything()
+-        self.mock_ks_v3_client.roles.list(name='heat_stack_user').AndReturn([])
++        self.mock_ks_v3_client.roles.list().AndReturn(mock_roles_list)
++        self.mock_ks_v3_client.roles.grant(project=ctx.tenant_id,
++                                           role='4546',
++                                           user='auser123').AndReturn(None)
+         self.m.ReplayAll()
+         # call create_stack_user with a long user name.
+         # the cleanup VerifyAll should verify that though we passed
index 87d845f321a1d0873e0c0ee988a71067b4e94fb1..acdf1c5e5a5185dcaca837716ece8137af422491 100644 (file)
@@ -20,8 +20,8 @@
 
 . /etc/rc.d/init.d/functions
 
-prog=heat-api-cfn
-exec="/usr/bin/$prog"
+prog=openstack-heat-api-cfn
+exec="/usr/bin/heat-api-cfn"
 config="/etc/heat/heat.conf"
 pidfile="/var/run/heat/$prog.pid"
 
index 7edbdf684c82a45da5fa6a7553b5a327c8b79227..fd8f77032ce0b87554cd494f15d1346eb49a8e3a 100644 (file)
@@ -18,8 +18,8 @@
 
 . /etc/rc.d/init.d/functions
 
-prog=heat-api-cloudwatch
-exec="/usr/bin/$prog"
+prog=openstack-heat-api-cloudwatch
+exec="/usr/bin/heat-api-cloudwatch"
 config="/etc/heat/heat.conf"
 pidfile="/var/run/heat/$prog.pid"
 
index 9747ce70aae60091a0014045c204870c8cc11b14..bfed9953f116c5162a05a68fbf4ca812abe85a36 100644 (file)
@@ -20,8 +20,8 @@
 
 . /etc/rc.d/init.d/functions
 
-prog=heat-api
-exec="/usr/bin/$prog"
+prog=openstack-heat-api
+exec="/usr/bin/heat-api"
 config="/etc/heat/heat.conf"
 pidfile="/var/run/heat/$prog.pid"
 
index 8422fd28ecc69bb51ddd1d0c60008561d5cb82dd..573937cfe9b2d8ff1641b7c59fd7268ccc523bb7 100644 (file)
@@ -18,8 +18,8 @@
 
 . /etc/rc.d/init.d/functions
 
-prog=heat-engine
-exec="/usr/bin/$prog"
+prog=openstack-heat-engine
+exec="/usr/bin/heat-engine"
 config="/etc/heat/heat.conf"
 pidfile="/var/run/heat/$prog.pid"
 
index fa53a45a1f47a05aa198fd4a811004c4473ba38a..33b45ee9094a6811bf14465194cfe6d9697daace 100644 (file)
@@ -1,18 +1,19 @@
-%global release_name havana
-%global release_letter rc
+%global release_name icehouse
+%global release_letter b
 %global milestone 2
-%global full_release heat-%{version}
+%global full_release heat-%{version}.%{release_letter}%{milestone}
+#%global full_release heat-%{version}
 
 %global with_doc %{!?_without_doc:1}%{?_without_doc:0}
 
 Name:          openstack-heat
 Summary:       OpenStack Orchestration (heat)
-Version:       2013.2
-Release:       1.0%{?dist}
+Version:       2014.1
+Release:       0.5.%{release_letter}%{milestone}%{?dist}
 License:       ASL 2.0
 Group:         System Environment/Base
 URL:           http://www.openstack.org
-Source0:       https://launchpad.net/heat/%{release_name}/%{version}/+download/heat-%{version}.tar.gz
+Source0:       https://launchpad.net/heat/%{release_name}/%{release_name}-%{milestone}/+download/%{full_release}.tar.gz
 Obsoletes:     heat < 7-9
 Provides:      heat
 
@@ -23,10 +24,13 @@ Source4:    openstack-heat-engine.init
 Source5:       openstack-heat-api-cloudwatch.init
 Source20:   heat-dist.conf
 
-Patch0: switch-to-using-m2crypto.patch
-Patch1: remove-pbr-runtime-dependency.patch
-# EPEL specific patch, not upstream
-Patch100: heat-newdeps.patch
+#
+# patches_base=2014.1.b2
+#
+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-Fix-adding-heat_stack_user-role-via-v3-API.patch
 
 BuildArch: noarch
 BuildRequires: git
@@ -53,7 +57,7 @@ BuildRequires: python-sphinx10
 BuildRequires: python-paste-deploy1.5
 BuildRequires: python-routes1.12
 BuildRequires: python-sqlalchemy0.7
-BuildRequires: python-webob
+BuildRequires: python-webob1.2
 
 BuildRequires: python-pbr
 BuildRequires: python-d2to1
@@ -64,6 +68,7 @@ BuildRequires: python-keystoneclient
 BuildRequires: python-novaclient
 BuildRequires: python-neutronclient
 BuildRequires: python-swiftclient
+BuildRequires: python-heatclient
 %endif
 
 Requires: %{name}-common = %{version}-%{release}
@@ -74,10 +79,11 @@ Requires: %{name}-api-cloudwatch = %{version}-%{release}
 
 %prep
 %setup -q -n %{full_release}
-%patch0 -p1
-%patch1 -p1
-%patch100 -p1
 
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
 sed -i s/REDHATHEATVERSION/%{version}/ heat/version.py
 sed -i s/REDHATHEATRELEASE/%{release}/ heat/version.py
 
@@ -85,44 +91,19 @@ sed -i s/REDHATHEATRELEASE/%{release}/ heat/version.py
 # to distutils requires_dist config
 rm -rf {test-,}requirements.txt tools/{pip,test}-requires
 
-echo '
-#
-# Options to be passed to keystoneclient.auth_token middleware
-# NOTE: These options are not defined in heat but in keystoneclient
-#
-[keystone_authtoken]
-
-# the name of the admin tenant (string value)
-#admin_tenant_name=
-
-# the keystone admin username (string value)
-#admin_user=
-
-# the keystone admin password (string value)
-#admin_password=
-
-# the keystone host (string value)
-#auth_host=
-
-# the keystone port (integer value)
-#auth_port=
-
-# protocol to be used for auth requests http/https (string value)
-#auth_protocol=
-
-#auth_uri=
-
-# signing_dir is configurable, but the default behavior of the authtoken
-# middleware should be sufficient.  It will create a temporary directory
-# in the home directory for the user the heat process is running as.
-#signing_dir=/var/lib/heat/keystone-signing
-' >> etc/heat/heat.conf.sample
 
 # Programmatically update defaults in sample config
 # which is installed at /etc/heat/heat.conf
-# TODO: Make this more robust
-# Note it only edits the first occurance, so assumes a section ordering in sample
-# and also doesn't support multi-valued variables.
+
+#  First we ensure all values are commented in appropriate format.
+#  Since icehouse, there was an uncommented keystone_authtoken section
+#  at the end of the file which mimics but also conflicted with our
+#  distro editing that had been done for many releases.
+sed -i '/^[^#[]/{s/^/#/; s/ //g}; /^#[^ ]/s/ = /=/' etc/heat/heat.conf.sample
+
+#  TODO: Make this more robust
+#  Note it only edits the first occurance, so assumes a section ordering in sample
+#  and also doesn't support multi-valued variables.
 while read name eq value; do
   test "$name" && test "$value" || continue
   sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" etc/heat/heat.conf.sample
@@ -133,7 +114,6 @@ done < %{SOURCE20}
 
 %install
 %{__python} setup.py install -O1 --skip-build --root=%{buildroot}
-sed -i -e '/^#!/,1 d' %{buildroot}/%{python_sitelib}/heat/db/sqlalchemy/manage.py
 sed -i -e '/^#!/,1 d' %{buildroot}/%{python_sitelib}/heat/db/sqlalchemy/migrate_repo/manage.py
 mkdir -p %{buildroot}/var/log/heat/
 mkdir -p %{buildroot}/var/run/heat/
@@ -159,6 +139,8 @@ install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/
 popd
 %endif
 
+rm -f %{buildroot}/%{_bindir}/heat-db-setup
+rm -f %{buildroot}/%{_mandir}/man1/heat-db-setup.*
 rm -rf %{buildroot}/var/lib/heat/.dummy
 rm -f %{buildroot}/usr/bin/cinder-keystone-setup
 rm -rf %{buildroot}/%{python_sitelib}/heat/tests
@@ -197,13 +179,14 @@ Requires: python-neutronclient
 Requires: python-swiftclient
 Requires: python-migrate
 Requires: python-qpid
-Requires: python-six
+Requires: python-six >= 1.4.1
 Requires: PyYAML
 Requires: m2crypto
 Requires: python-anyjson
 Requires: python-paramiko
 Requires: python-heatclient
 Requires: python-babel
+Requires: MySQL-python
 
 Requires: python-paste-deploy1.5
 Requires: python-routes1.12
@@ -218,7 +201,6 @@ Components common to all OpenStack Heat services
 %files common
 %doc LICENSE
 %{_bindir}/heat-manage
-%{_bindir}/heat-db-setup
 %{_bindir}/heat-keystone-setup
 %{python_sitelib}/heat*
 %attr(-, root, heat) %{_datadir}/heat/heat-dist.conf
@@ -233,8 +215,8 @@ Components common to all OpenStack Heat services
 %config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/environment.d/*
 %config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/templates/*
 %if 0%{?with_doc}
-%{_mandir}/man1/heat-db-setup.1.gz
 %{_mandir}/man1/heat-keystone-setup.1.gz
+%{_mandir}/man1/heat-manage.1.gz
 %endif
 
 %pre common
@@ -406,6 +388,29 @@ fi
 
 
 %changelog
+* Tue Feb  4 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.5.b2
+- fix heat-manage (rhbz 1060904)
+
+* Mon Jan 27 2014 Jeff Peeler <jpeeler@redhat.com> - 2014.1-0.4.b2
+- update to icehouse-2
+
+* Mon Jan 06 2014 Pádraig Brady <pbrady@redhat.com> - 2014.1-0.4.b1
+- Avoid [keystone_authtoken] config corruption in heat.conf
+
+* Mon Jan 06 2014 Jeff Peeler <jpeeler@redhat.com> 2014-1.0.4.b1
+- added MySQL-python requires
+- removed heat-db-setup (rhbz 1046326)
+
+* Mon Jan 06 2014 Pádraig Brady <pbrady@redhat.com> - 2014.1-0.3.b1
+- Set python-six min version to ensure updated
+
+* Fri Jan 03 2014 Pádraig Brady <pbrady@redhat.com> 2014-1.0.2.b1
+- Fix heat-manage to work with parallel installed packages
+
+* Mon Dec 09 2013 Jeff Peeler <jpeeler@redhat.com> 2014-1.0.1.b1
+- update to icehouse-1
+- add python-heatclient to BuildRequires
+
 * Thu Oct 17 2013 Jeff Peeler <jpeeler@redhat.com> 2013.2-1
 - update to havana final