Hello community,
here is the log from the commit of package python-heatclient for openSUSE:Factory checked in at 2013-07-18 17:34:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-heatclient (Old)
and /work/SRC/openSUSE:Factory/.python-heatclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-heatclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-heatclient/python-heatclient.changes 2013-07-10 17:31:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-heatclient.new/python-heatclient.changes 2013-07-18 18:08:31.000000000 +0200
@@ -0,0 +1,33 @@
+--------------------------------------------------------------------
+Wed Jul 17 10:19:32 UTC 2013 - opensuse-cloud@opensuse.org
+
+- Update to version 0.2.3.2.ga49cf4c:
+ + Make the parameter checking consistent.
+ + Only set X-Auth-User, X-Auth-Key on stack create/update.
+ + Display yaml format for stack deployed via hot template
+ + Cleanup in preperation for release.
+
+-------------------------------------------------------------------
+Mon Jul 15 07:23:08 UTC 2013 - opensuse-cloud@opensuse.org
+
+- Update to version 0.2.2.37.gff2033a:
+ + Raise requirements to be in sync with OpenStack/Requirements
+ + Rename README.md to README.rst
+
+-------------------------------------------------------------------
+Sun Jul 14 16:09:38 UTC 2013 - dmueller@suse.com
+
+- move heat client to main package
+
+-------------------------------------------------------------------
+Thu Jul 11 23:48:23 UTC 2013 - opensuse-cloud@opensuse.org
+
+- Update to version 0.2.2.34.ga4208dc:
+ + Fix "heat validate" (add needed environment option)
+
+-------------------------------------------------------------------
+Thu Jul 11 08:23:29 UTC 2013 - opensuse-cloud@opensuse.org
+
+- Update to version 0.2.2.32.gcb5b027:
+ + Update upper bound of keystoneclient version.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-heatclient.spec ++++++
--- /var/tmp/diff_new_pack.j4BMUa/_old 2013-07-18 18:08:32.000000000 +0200
+++ /var/tmp/diff_new_pack.j4BMUa/_new 2013-07-18 18:08:32.000000000 +0200
@@ -19,7 +19,7 @@
%define component heatclient
Name: python-%{component}
-Version: 0.2.2.31.g9cba3da
+Version: 0.2.3.2.ga49cf4c
Release: 0
Summary: Openstack Orchestration (Heat) API Client
License: Apache-2.0
@@ -85,7 +85,7 @@
This package contains testsuite files for %{name}.
%prep
-%setup -q -n python-heatclient-0.2.2.31.g9cba3da
+%setup -q -n python-heatclient-0.2.3.2.ga49cf4c
%openstack_cleanup_prep
echo %{version} > heatclient/versioninfo
@@ -102,7 +102,8 @@
%files
%defattr(-,root,root,-)
-%doc LICENSE README.md
+%doc LICENSE README.rst
+%{_bindir}/heat
%{python_sitelib}/%{component}/
%{python_sitelib}/python_%{component}-*.egg-info
@@ -112,7 +113,6 @@
%files test
%defattr(-,root,root,-)
-%{_bindir}/heat
%{_localstatedir}/lib/%{name}-test/
%changelog
++++++ python-heatclient-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/.gitignore new/python-heatclient-0.2.3.2.ga49cf4c/.gitignore
--- old/python-heatclient-0.2.2.31.g9cba3da/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/python-heatclient-0.2.3.2.ga49cf4c/.gitignore 2013-07-17 01:45:28.000000000 +0200
@@ -0,0 +1,20 @@
+.coverage
+.venv
+*,cover
+cover
+*.pyc
+.idea
+*.swp
+*~
+AUTHORS
+build
+dist
+ChangeLog
+run_tests.err.log
+.tox
+doc/source/api
+*.egg
+heatclient/versioninfo
+python_heatclient.egg-info
+*.log
+.testrepository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/.gitreview new/python-heatclient-0.2.3.2.ga49cf4c/.gitreview
--- old/python-heatclient-0.2.2.31.g9cba3da/.gitreview 1970-01-01 01:00:00.000000000 +0100
+++ new/python-heatclient-0.2.3.2.ga49cf4c/.gitreview 2013-07-17 01:45:28.000000000 +0200
@@ -0,0 +1,4 @@
+[gerrit]
+host=review.openstack.org
+port=29418
+project=openstack/python-heatclient.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/AUTHORS new/python-heatclient-0.2.3.2.ga49cf4c/AUTHORS
--- old/python-heatclient-0.2.2.31.g9cba3da/AUTHORS 2013-07-04 00:46:30.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/AUTHORS 2013-07-17 01:46:10.000000000 +0200
@@ -4,6 +4,8 @@
Dirk Mueller
Ian Main
Jeremy Stanley
+JUN JIE NAN
+Lin Hua Cheng
Monty Taylor
Simon Pasquier
Steve Baker
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/ChangeLog new/python-heatclient-0.2.3.2.ga49cf4c/ChangeLog
--- old/python-heatclient-0.2.2.31.g9cba3da/ChangeLog 2013-07-04 00:46:30.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/ChangeLog 2013-07-17 01:46:10.000000000 +0200
@@ -1,3 +1,124 @@
+commit a49cf4c148bfcb4cf878afc13325f2ffcf219992
+Merge: e147586 3f1b15c
+Author: Jenkins
+Date: Tue Jul 16 23:42:39 2013 +0000
+
+ Merge "Cleanup in preperation for release."
+
+commit 3f1b15cdce172e3d66720b4503eaae0d11a563f6
+Author: Steve Baker
+Date: Wed Jul 17 10:42:28 2013 +1200
+
+ Cleanup in preperation for release.
+
+ Change-Id: Iaeb926b929d4f8210ebbfa310134b1fb50dce276
+
+commit e14758686f71932c5fe5c884bdf7344a1f339d0a
+Author: JUN JIE NAN
+Date: Tue Jul 16 13:45:20 2013 +0800
+
+ Display yaml format for stack deployed via hot template
+
+ Determine hot template and display yaml format for it, display json
+ format for others.
+
+ Change-Id: Ie8d72c222a992ee0048897d040e8bc88fcf51760
+ Fixes: bug #1201482
+
+commit b417688d210b5efa22a97e8694c1e48c25f076e0
+Merge: 710f751 4259289
+Author: Jenkins
+Date: Tue Jul 16 03:22:00 2013 +0000
+
+ Merge "Only set X-Auth-User, X-Auth-Key on stack create/update."
+
+commit 710f7512bbb9074cc31219f8d02153d7e747476d
+Author: Angus Salkeld
+Date: Tue Jul 16 12:24:35 2013 +1000
+
+ Make the parameter checking consistent.
+
+ Make format_parameters() raise CommandError with
+ the same message. Rather than raise MalformedRequestBody
+ and then catch that and raise CommandError. This just
+ simplifies things.
+
+ Change-Id: Ic05af32dd916e953e6b162daccc4525cb4734a46
+
+commit ff2033a8c1e0b7cac722890424d3d8ac32952415
+Merge: 011fff3 43b6b0c
+Author: Jenkins
+Date: Sun Jul 14 22:13:07 2013 +0000
+
+ Merge "Rename README.md to README.rst"
+
+commit 43b6b0cdc4efd54f122d91f654aced914686e34b
+Author: Dirk Mueller
+Date: Sun Jul 14 18:27:12 2013 +0200
+
+ Rename README.md to README.rst
+
+ The content looks more like restructured text to me,
+ and it seems to be more common amongst OpenStack projects.
+
+ Change-Id: Iba8c21985c055f1712069a6e70d345bb920381bf
+
+commit 011fff3416eaeff7e573668e80cf48ce2224b080
+Author: Dirk Mueller
+Date: Sun Jul 14 18:13:33 2013 +0200
+
+ Raise requirements to be in sync with OpenStack/Requirements
+
+ Mainly due to the testing deps being outdated. Also
+ fixes client capping.
+
+ Fixes LP Bug #1200214
+
+ Change-Id: I39c18144bc19189513fc4c1f9712b8938bd719cf
+
+commit a4208dc54d9e23f1073e36fc906ae6a8c4603bbd
+Merge: cb5b027 2198a76
+Author: Jenkins
+Date: Thu Jul 11 11:03:34 2013 +0000
+
+ Merge "Fix "heat validate" (add needed environment option)"
+
+commit cb5b027d762aae4aebf996697d296b217bf7b332
+Author: Lin Hua Cheng
+Date: Wed Jul 10 14:35:29 2013 -0700
+
+ Update upper bound of keystoneclient version.
+
+ This is the intermediate step so that we can update the the lower
+ bound of keystoneclient in openstack-requirements.
+
+ Change-Id: I1b73bfaafdf404634fc321b4e536f65b6dd65a3a
+
+commit 2198a76839b68e4fde9c8cae64e10dd1519ecc61
+Author: Angus Salkeld
+Date: Mon Jul 8 14:58:14 2013 +1000
+
+ Fix "heat validate" (add needed environment option)
+
+ since it calls template-validate it needs that same options.
+
+ Change-Id: Ic024707240af59b862146d4f478e495a93b5cd7a
+
+commit 42592898c3b95f0f0b264809d485cb127c078fce
+Author: Steve Baker
+Date: Fri Jul 5 10:10:20 2013 +1200
+
+ Only set X-Auth-User, X-Auth-Key on stack create/update.
+
+ All heat operations can be performed with only a token.
+
+ User credentials are required for stack create/update as they are
+ stored for later stack operations.
+
+ This change prevents credentials unnecessarily being sent over the wire.
+
+ Change-Id: I5ad18067c5db8ada9994d131e98f27af70a7ca06
+
commit 9cba3dab020712e3d78d8e1e062cbd17ab43f893
Merge: 8dd6074 5320a3a
Author: Jenkins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/MANIFEST.in new/python-heatclient-0.2.3.2.ga49cf4c/MANIFEST.in
--- old/python-heatclient-0.2.2.31.g9cba3da/MANIFEST.in 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/MANIFEST.in 2013-07-17 01:45:28.000000000 +0200
@@ -1,11 +1,8 @@
include AUTHORS
include LICENSE
-include README.md
+include README.rst
include ChangeLog
include tox.ini
include .testr.conf
recursive-include doc *
-recursive-include tests *
recursive-include tools *
-exclude .gitignore
-exclude .gitreview
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/PKG-INFO new/python-heatclient-0.2.3.2.ga49cf4c/PKG-INFO
--- old/python-heatclient-0.2.2.31.g9cba3da/PKG-INFO 2013-07-04 00:46:32.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/PKG-INFO 2013-07-17 01:46:11.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-heatclient
-Version: 0.2.2.31.g9cba3da
+Version: 0.2.3.2.ga49cf4c
Summary: OpenStack Orchestration API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/README.md new/python-heatclient-0.2.3.2.ga49cf4c/README.md
--- old/python-heatclient-0.2.2.31.g9cba3da/README.md 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/README.md 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-Python bindings to the Heat orchestration API
-=============================================
-
-This is a client library for Heat built on the Heat orchestration API. It
-provides a Python API (the ``heatclient`` module) and a command-line tool
-(``heat``).
-
-Development takes place via the usual OpenStack processes as outlined in the
-`OpenStack wiki http://wiki.openstack.org/HowToContribute`_. The master
-repository is on `GitHub http://github.com/heat-api/python-heatclient`_.
-
-See release notes and more at `http://docs.openstack.org/developer/python-heatclient/`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/README.rst new/python-heatclient-0.2.3.2.ga49cf4c/README.rst
--- old/python-heatclient-0.2.2.31.g9cba3da/README.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/python-heatclient-0.2.3.2.ga49cf4c/README.rst 2013-07-17 01:45:28.000000000 +0200
@@ -0,0 +1,12 @@
+Python bindings to the Heat orchestration API
+=============================================
+
+This is a client library for Heat built on the Heat orchestration API. It
+provides a Python API (the ``heatclient`` module) and a command-line tool
+(``heat``).
+
+Development takes place via the usual OpenStack processes as outlined in the
+`OpenStack wiki http://wiki.openstack.org/HowToContribute`_. The master
+repository is on `GitHub http://github.com/heat-api/python-heatclient`_.
+
+See release notes and more at `http://docs.openstack.org/developer/python-heatclient/`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/common/http.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/common/http.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/common/http.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/common/http.py 2013-07-17 01:45:28.000000000 +0200
@@ -133,10 +133,6 @@
kwargs['headers'].setdefault('X-Auth-Token', self.auth_token)
if self.auth_url:
kwargs['headers'].setdefault('X-Auth-Url', self.auth_url)
- if self.username:
- kwargs['headers'].setdefault('X-Auth-User', self.username)
- if self.password:
- kwargs['headers'].setdefault('X-Auth-Key', self.password)
self.log_curl_request(method, url, kwargs)
conn = self.get_connection()
@@ -178,6 +174,12 @@
return resp, body_str
+ def credentials_headers(self):
+ return {
+ 'X-Auth-User': self.username,
+ 'X-Auth-Key': self.password
+ }
+
def json_request(self, method, url, **kwargs):
kwargs.setdefault('headers', {})
kwargs['headers'].setdefault('Content-Type', 'application/json')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/common/utils.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/common/utils.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/common/utils.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/common/utils.py 2013-07-17 01:45:28.000000000 +0200
@@ -145,7 +145,9 @@
try:
(n, v) = p.split(('='), 1)
except ValueError:
- raise exc.MalformedRequestBody()
+ msg = '%s(%s). %s.' % ('Malformed parameter', p,
+ 'Use the key=value format')
+ raise exc.CommandError(msg)
parameters[n] = v
return parameters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/exc.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/exc.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/exc.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/exc.py 2013-07-17 01:45:28.000000000 +0200
@@ -39,11 +39,6 @@
code = 'N/A'
-class MalformedRequestBody(BaseException):
- """Malformed parameter in request."""
- pass
-
-
class HTTPMultipleChoices(HTTPException):
code = 300
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/shell.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/shell.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/shell.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/shell.py 2013-07-17 01:45:28.000000000 +0200
@@ -169,8 +169,7 @@
parser.add_argument('-t', '--token-only',
default=bool(False),
action='store_true',
- help='Only send a token for auth, do not send'
- ' username and password as well.')
+ help='DEPRECATED! Has no effect')
return parser
@@ -303,15 +302,13 @@
'ca_file': args.ca_file,
'cert_file': args.cert_file,
'key_file': args.key_file,
- 'username': args.os_username
+ 'username': args.os_username,
+ 'password': args.os_password
}
if not endpoint:
endpoint = self._get_endpoint(_ksclient, **kwargs)
- if not args.token_only:
- kwargs['password'] = args.os_password
-
client = heatclient.Client(api_version, endpoint, **kwargs)
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/tests/test_shell.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/tests/test_shell.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/tests/test_shell.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/tests/test_shell.py 2013-07-17 01:45:28.000000000 +0200
@@ -93,6 +93,53 @@
self.shell_error('list', self.err)
+class ShellParamValidationTest(TestCase):
+
+ scenarios = [
+ ('create', dict(
+ command='create ts -P "a!b"',
+ err='Malformed parameter')),
+ ('stack-create', dict(
+ command='stack-create ts -P "ab"',
+ err='Malformed parameter')),
+ ('update', dict(
+ command='update ts -P "a~b"',
+ err='Malformed parameter')),
+ ('stack-update', dict(
+ command='stack-update ts -P "a-b"',
+ err='Malformed parameter')),
+ ('validate', dict(
+ command='validate -P "a=b;c"',
+ err='Malformed parameter')),
+ ('template-validate', dict(
+ command='template-validate -P "a$b"',
+ err='Malformed parameter')),
+ ]
+
+ def setUp(self):
+ super(ShellParamValidationTest, self).setUp()
+ self.m = mox.Mox()
+ self.addCleanup(self.m.VerifyAll)
+ self.addCleanup(self.m.UnsetStubs)
+
+ def test_bad_parameters(self):
+ self.m.StubOutWithMock(ksclient, 'Client')
+ self.m.StubOutWithMock(v1client.Client, 'json_request')
+ fakes.script_keystone_client()
+
+ self.m.ReplayAll()
+ fake_env = {
+ 'OS_USERNAME': 'username',
+ 'OS_PASSWORD': 'password',
+ 'OS_TENANT_NAME': 'tenant_name',
+ 'OS_AUTH_URL': 'http://no.where',
+ }
+ self.set_fake_env(fake_env)
+ template_file = os.path.join(TEST_VAR_DIR, 'minimal.template')
+ cmd = '%s --template-file=%s ' % (self.command, template_file)
+ self.shell_error(cmd, self.err)
+
+
class ShellValidationTest(TestCase):
def setUp(self):
@@ -257,6 +304,59 @@
for r in required:
self.assertRegexpMatches(list_text, r)
+ def test_template_show_cfn(self):
+ fakes.script_keystone_client()
+ template_data = open(os.path.join(TEST_VAR_DIR,
+ 'minimal.template')).read()
+ resp = fakes.FakeHTTPResponse(
+ 200,
+ 'OK',
+ {'content-type': 'application/json'},
+ template_data)
+ resp_dict = json.loads(template_data)
+ v1client.Client.json_request(
+ 'GET', '/stacks/teststack/template').AndReturn((resp, resp_dict))
+
+ self.m.ReplayAll()
+
+ show_text = self.shell('template-show teststack')
+ required = [
+ '{',
+ ' "AWSTemplateFormatVersion": "2010-09-09",',
+ ' "Outputs": {},',
+ ' "Resources": {},',
+ ' "Parameters": {}',
+ '}'
+ ]
+ for r in required:
+ self.assertRegexpMatches(show_text, r)
+
+ def test_template_show_hot(self):
+ fakes.script_keystone_client()
+ resp_dict = {"heat_template_version": "2013-05-23",
+ "parameters": {},
+ "resources": {},
+ "outputs": {}}
+ resp = fakes.FakeHTTPResponse(
+ 200,
+ 'OK',
+ {'content-type': 'application/json'},
+ json.dumps(resp_dict))
+ v1client.Client.json_request(
+ 'GET', '/stacks/teststack/template').AndReturn((resp, resp_dict))
+
+ self.m.ReplayAll()
+
+ show_text = self.shell('template-show teststack')
+ required = [
+ "heat_template_version: '2013-05-23'",
+ "outputs: {}",
+ "parameters: {}",
+ "resources: {}"
+ ]
+ for r in required:
+ self.assertRegexpMatches(show_text, r)
+
def test_create(self):
fakes.script_keystone_client()
resp = fakes.FakeHTTPResponse(
@@ -265,7 +365,9 @@
{'location': 'http://no.where/v1/tenant_id/stacks/teststack2/2'},
None)
v1client.Client.json_request(
- 'POST', '/stacks', body=mox.IgnoreArg()).AndReturn((resp, None))
+ 'POST', '/stacks', body=mox.IgnoreArg(),
+ headers={'X-Auth-Key': 'password', 'X-Auth-User': 'username'}
+ ).AndReturn((resp, None))
fakes.script_heat_list()
self.m.ReplayAll()
@@ -297,7 +399,9 @@
{'location': 'http://no.where/v1/tenant_id/stacks/teststack2/2'},
None)
v1client.Client.json_request(
- 'POST', '/stacks', body=mox.IgnoreArg()).AndReturn((resp, None))
+ 'POST', '/stacks', body=mox.IgnoreArg(),
+ headers={'X-Auth-Key': 'password', 'X-Auth-User': 'username'}
+ ).AndReturn((resp, None))
fakes.script_heat_list()
self.m.ReplayAll()
@@ -334,7 +438,9 @@
{'location': 'http://no.where/v1/tenant_id/stacks/teststack2/2'},
None)
v1client.Client.json_request(
- 'POST', '/stacks', body=mox.IgnoreArg()).AndReturn((resp, None))
+ 'POST', '/stacks', body=mox.IgnoreArg(),
+ headers={'X-Auth-Key': 'password', 'X-Auth-User': 'username'}
+ ).AndReturn((resp, None))
fakes.script_heat_list()
@@ -365,7 +471,9 @@
'The request is accepted for processing.')
v1client.Client.json_request(
'PUT', '/stacks/teststack2/2',
- body=mox.IgnoreArg()).AndReturn((resp, None))
+ body=mox.IgnoreArg(),
+ headers={'X-Auth-Key': 'password', 'X-Auth-User': 'username'}
+ ).AndReturn((resp, None))
fakes.script_heat_list()
self.m.ReplayAll()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/tests/test_utils.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/tests/test_utils.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/tests/test_utils.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/tests/test_utils.py 2013-07-17 01:45:28.000000000 +0200
@@ -47,7 +47,7 @@
def test_format_parameter_bad_parameter(self):
params = 'KeyName=heat_key;UpstreamDNS8.8.8.8'
- self.assertRaises(exc.MalformedRequestBody,
+ self.assertRaises(exc.CommandError,
utils.format_parameters, params)
def test_link_formatter(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/v1/shell.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/v1/shell.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/v1/shell.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/v1/shell.py 2013-07-17 01:45:28.000000000 +0200
@@ -130,16 +130,10 @@
help='Name of the stack to create.')
def do_stack_create(hc, args):
'''Create the stack.'''
- try:
- parameters = utils.format_parameters(args.parameters)
- except exc.MalformedRequestBody:
- msg = "Malformed parameters. Parameters should have key=value format"
- raise exc.CommandError(msg=msg)
-
fields = {'stack_name': args.name,
'timeout_mins': args.create_timeout,
'disable_rollback': not(args.enable_rollback),
- 'parameters': parameters}
+ 'parameters': utils.format_parameters(args.parameters)}
_set_template_fields(hc, args, fields)
_process_environment_and_files(hc, args, fields)
@@ -288,13 +282,18 @@
except exc.HTTPNotFound:
raise exc.CommandError('Stack not found: %s' % args.id)
else:
- print json.dumps(template, indent=2)
+ if 'heat_template_version' in template:
+ print yaml.safe_dump(template, indent=2)
+ else:
+ print json.dumps(template, indent=2)
@utils.arg('-u', '--template-url', metavar='<URL>',
help='URL of template.')
@utils.arg('-f', '--template-file', metavar='<FILE>',
help='Path to the template.')
+@utils.arg('-e', '--environment-file', metavar='<FILE>',
+ help='Path to the environment.')
@utils.arg('-o', '--template-object', metavar='<URL>',
help='URL to retrieve template object (e.g from swift)')
@utils.arg('-P', '--parameters', metavar='',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/heatclient/v1/stacks.py new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/v1/stacks.py
--- old/python-heatclient-0.2.2.31.g9cba3da/heatclient/v1/stacks.py 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/heatclient/v1/stacks.py 2013-07-17 01:45:28.000000000 +0200
@@ -82,13 +82,16 @@
def create(self, **kwargs):
"""Create a stack."""
- resp, body = self.api.json_request('POST', '/stacks', body=kwargs)
+ headers = self.api.credentials_headers()
+ resp, body = self.api.json_request('POST', '/stacks',
+ body=kwargs, headers=headers)
def update(self, **kwargs):
"""Update a stack."""
stack_id = kwargs.pop('stack_id')
+ headers = self.api.credentials_headers()
resp, body = self.api.json_request('PUT', '/stacks/%s' % stack_id,
- body=kwargs)
+ body=kwargs, headers=headers)
def delete(self, stack_id):
"""Delete a stack."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/PKG-INFO new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/PKG-INFO
--- old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/PKG-INFO 2013-07-04 00:46:30.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/PKG-INFO 2013-07-17 01:46:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-heatclient
-Version: 0.2.2.31.g9cba3da
+Version: 0.2.3.2.ga49cf4c
Summary: OpenStack Orchestration API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/SOURCES.txt new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/SOURCES.txt
--- old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/SOURCES.txt 2013-07-04 00:46:32.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/SOURCES.txt 2013-07-17 01:46:11.000000000 +0200
@@ -1,10 +1,12 @@
+.gitignore
+.gitreview
.testr.conf
AUTHORS
CONTRIBUTING.rst
ChangeLog
LICENSE
MANIFEST.in
-README.md
+README.rst
openstack-common.conf
requirements.txt
run_tests.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/requires.txt new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/requires.txt
--- old/python-heatclient-0.2.2.31.g9cba3da/python_heatclient.egg-info/requires.txt 2013-07-04 00:46:30.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/python_heatclient.egg-info/requires.txt 2013-07-17 01:46:10.000000000 +0200
@@ -1,7 +1,7 @@
d2to1>=0.2.10,<0.3
-pbr>=0.5.10,<0.6
+pbr>=0.5.16,<0.6
httplib2
iso8601>=0.1.4
prettytable>=0.6,<0.8
-python-keystoneclient>=0.2,<0.3
+python-keystoneclient>=0.2.1
pyyaml>=3.1.0
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/requirements.txt new/python-heatclient-0.2.3.2.ga49cf4c/requirements.txt
--- old/python-heatclient-0.2.2.31.g9cba3da/requirements.txt 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/requirements.txt 2013-07-17 01:45:28.000000000 +0200
@@ -1,9 +1,8 @@
d2to1>=0.2.10,<0.3
-pbr>=0.5.10,<0.6
-
+pbr>=0.5.16,<0.6
argparse
httplib2
iso8601>=0.1.4
prettytable>=0.6,<0.8
-python-keystoneclient>=0.2,<0.3
+python-keystoneclient>=0.2.1
pyyaml>=3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/setup.cfg new/python-heatclient-0.2.3.2.ga49cf4c/setup.cfg
--- old/python-heatclient-0.2.2.31.g9cba3da/setup.cfg 2013-07-04 00:46:32.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/setup.cfg 2013-07-17 01:46:11.000000000 +0200
@@ -2,7 +2,7 @@
name = python-heatclient
summary = OpenStack Orchestration API Client Library
description-file =
- README.md
+ README.rst
author = OpenStack
author-email = openstack-dev@lists.openstack.org
home-page = http://www.openstack.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-0.2.2.31.g9cba3da/test-requirements.txt new/python-heatclient-0.2.3.2.ga49cf4c/test-requirements.txt
--- old/python-heatclient-0.2.2.31.g9cba3da/test-requirements.txt 2013-07-04 00:45:55.000000000 +0200
+++ new/python-heatclient-0.2.3.2.ga49cf4c/test-requirements.txt 2013-07-17 01:45:28.000000000 +0200
@@ -2,13 +2,12 @@
pep8==1.4.5
pyflakes==0.7.2
flake8==2.0
-hacking>=0.5.3,<0.6
-
+hacking>=0.5.6,<0.6
coverage>=3.6
discover
fixtures>=0.3.12
-mox
+mox>=0.5.3
sphinx>=1.1.2
testscenarios<0.5
-testrepository>=0.0.13
-testtools>=0.9.29
+testrepository>=0.0.15
+testtools>=0.9.32
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org