commit python-heatclient for openSUSE:Factory
Hello community, here is the log from the commit of package python-heatclient for openSUSE:Factory checked in at 2019-05-03 22:40:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-heatclient (Old) and /work/SRC/openSUSE:Factory/.python-heatclient.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-heatclient" Fri May 3 22:40:40 2019 rev:29 rq:692827 version:1.17.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-heatclient/python-heatclient.changes 2018-09-07 15:37:19.354670275 +0200 +++ /work/SRC/openSUSE:Factory/.python-heatclient.new.5148/python-heatclient.changes 2019-05-03 22:40:44.987029655 +0200 @@ -1,0 +2,21 @@ +Mon Apr 8 12:18:46 UTC 2019 - cloud-devel@suse.de + +- update to version 1.17.0 + - Don't change pyyaml behavior + - Switch to stestr + - Update min tox version to 2.0 + - Set X-Region-Name in header when using SessionClient + - fix bug link in readme + - Migrate the link of bug report button to storyboard + - Load files from adopt file when adopt stack + - Update the bugs link to storyboard + - Trivial: Update pypi url to new url + - Update reno for stable/rocky + - Replace deprecated "decodestring()" by "decodebytes()" + - Don't quote {posargs} in tox.ini + - switch documentation job to new PTI + - add python 3.6 unit test job + - import zuul job settings from project-config + - Use templates for cover and lower-constraints + +------------------------------------------------------------------- Old: ---- python-heatclient-1.16.1.tar.gz New: ---- python-heatclient-1.17.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-heatclient.spec ++++++ --- /var/tmp/diff_new_pack.75A3l3/_old 2019-05-03 22:40:45.951031685 +0200 +++ /var/tmp/diff_new_pack.75A3l3/_new 2019-05-03 22:40:45.951031685 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-heatclient # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,18 +12,18 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: python-heatclient -Version: 1.16.1 +Version: 1.17.0 Release: 0 Summary: Python API and CLI for OpenStack Heat License: Apache-2.0 Group: Development/Languages/Python URL: https://launchpad.net/python-heatclient -Source0: https://files.pythonhosted.org/packages/source/p/python-heatclient/python-he... +Source0: https://files.pythonhosted.org/packages/source/p/python-heatclient/python-he... BuildRequires: openstack-macros BuildRequires: python-devel BuildRequires: python2-PyYAML >= 3.12 @@ -35,8 +35,8 @@ BuildRequires: python2-oslo.serialization >= 2.18.0 BuildRequires: python2-pbr >= 2.0.0 BuildRequires: python2-requests-mock +BuildRequires: python2-stestr BuildRequires: python2-swiftclient >= 3.2.0 -BuildRequires: python2-testrepository BuildRequires: python2-testscenarios BuildRequires: python2-testtools BuildRequires: python3-PyYAML >= 3.12 @@ -49,8 +49,8 @@ BuildRequires: python3-oslo.serialization >= 2.18.0 BuildRequires: python3-pbr >= 2.0.0 BuildRequires: python3-requests-mock +BuildRequires: python3-stestr BuildRequires: python3-swiftclient >= 3.2.0 -BuildRequires: python3-testrepository BuildRequires: python3-testscenarios BuildRequires: python3-testtools Requires: python-Babel >= 2.3.4 @@ -95,15 +95,15 @@ This package contains auto-generated documentation. %prep -%autosetup -p1 -n python-heatclient-1.16.1 +%autosetup -p1 -n python-heatclient-1.17.0 %py_req_cleanup %build %{python_build} %{__python2} setup.py build_sphinx --builder=html,man -PBR_VERSION=1.16.1 sphinx-build -b html doc/source doc/build/html -PBR_VERSION=1.16.1 sphinx-build -b man doc/source doc/build/man +PBR_VERSION=1.17.0 sphinx-build -b html doc/source doc/build/html +PBR_VERSION=1.17.0 sphinx-build -b man doc/source doc/build/man # remove the sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} @@ -124,9 +124,7 @@ %python_uninstall_alternative heat %check -%{python_expand rm -rf .testrepository -$python setup.py testr -} +%python_exec -m stestr.cli run %files %{python_files} %license LICENSE ++++++ _service ++++++ --- /var/tmp/diff_new_pack.75A3l3/_old 2019-05-03 22:40:45.971031727 +0200 +++ /var/tmp/diff_new_pack.75A3l3/_new 2019-05-03 22:40:45.971031727 +0200 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/python-heatclient/python-heatclient.spec.j2</param> + <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/stein/openstack/python-heatclient/python-heatclient.spec.j2</param> <param name="output-name">python-heatclient.spec</param> - <param name="requirements">https://raw.githubusercontent.com/openstack/python-heatclient/stable/rocky/requirements.txt</param> + <param name="requirements">https://raw.githubusercontent.com/openstack/python-heatclient/stable/stein/requirements.txt</param> <param name="changelog-email">cloud-devel@suse.de</param> <param name="changelog-provider">gh,openstack,python-heatclient</param> </service> ++++++ python-heatclient-1.16.1.tar.gz -> python-heatclient-1.17.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/.stestr.conf new/python-heatclient-1.17.0/.stestr.conf --- old/python-heatclient-1.16.1/.stestr.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/python-heatclient-1.17.0/.stestr.conf 2019-01-15 02:35:54.000000000 +0100 @@ -0,0 +1,3 @@ +[DEFAULT] +test_path=${OS_TEST_PATH:-./heatclient/tests/unit} +top_dir=./ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/.testr.conf new/python-heatclient-1.17.0/.testr.conf --- old/python-heatclient-1.16.1/.testr.conf 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/.testr.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -[DEFAULT] -test_command=${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./heatclient/tests/unit} $LISTOPT $IDOPTION -test_id_option=--load-list $IDFILE -test_list_option=--list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/.zuul.yaml new/python-heatclient-1.17.0/.zuul.yaml --- old/python-heatclient-1.16.1/.zuul.yaml 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/.zuul.yaml 2019-01-15 02:35:54.000000000 +0100 @@ -12,11 +12,19 @@ branch_override: default - project: + templates: + - openstack-cover-jobs + - openstack-lower-constraints-jobs + - openstack-python-jobs + - openstack-python35-jobs + - openstack-python36-jobs + - check-requirements + - openstackclient-plugin-jobs + - publish-openstack-docs-pti + - release-notes-jobs-python3 check: jobs: - heatclient-functional - - openstack-tox-lower-constraints gate: jobs: - heatclient-functional - - openstack-tox-lower-constraints diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/AUTHORS new/python-heatclient-1.17.0/AUTHORS --- old/python-heatclient-1.16.1/AUTHORS 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/AUTHORS 2019-01-15 02:39:00.000000000 +0100 @@ -65,6 +65,7 @@ M V P Nitesh <m.nitesh@nectechnologies.in> Mark Vanderwiel <vanderwl@us.ibm.com> Masahito Muroi <muroi.masahito@lab.ntt.co.jp> +Mehdi Abaakouk <sileht@sileht.net> Monty Taylor <mordred@inaugust.com> Nachi Ueno <nachi@ntti3.com> Nam Nguyen Hoai <namnh@vn.fujitsu.com> @@ -122,9 +123,11 @@ Tim Schnell <tim.schnell@rackspace.com> Tomas Sedovic <tomas@sedovic.cz> Tomas Sedovic <tsedovic@redhat.com> +Tovin Seven <vinhnt@vn.fujitsu.com> Unmesh Gurjar <unmesh.gurjar@hp.com> Van Hung Pham <hungpv@vn.fujitsu.com> Victor Morales <victor.morales@intel.com> +Vieri <15050873171@163.com> Vijayaguru Guruchave <vijayaguru.g@cloudenablers.com> Vijendar Komalla <vijendar.komalla@RACKSPACE.COM> Vijendra Soni <vijendra.soni@cognizant.com> @@ -134,7 +137,7 @@ Zhang Yang <neil.zhangyang@huawei.com> ZhiQiang Fan <aji.zqfan@gmail.com> ZhiQiang Fan <zhiqiang.fan@huawei.com> -Zuul <zuul@review.openstack.org> +ZhijunWei <wzj334965317@outlook.com> anusha-rayani-7 <anusha.rayani@tcs.com> bhagyashris <bhagyashri.shewale@nttdata.com> blue55 <yllan@fiberhome.com> @@ -143,6 +146,7 @@ chenxiao <chenxiao@cn.ibm.com> dixiaoli <dixiaobj@cn.ibm.com> gong yong sheng <gong.yongsheng@99cloud.net> +huang.zhiping <huang.zhiping@99cloud.net> huangtianhua <huangtianhua@huawei.com> ji-xuepeng <ji.xuepeng@zte.com.cn> kairat_kushaev <kkushaev@mirantis.com> @@ -172,4 +176,5 @@ zengyingzhe <zengyingzhe@huawei.com> zhang-jinnan <ben.os@99cloud.net> zhangguoqing <zhang.guoqing@99cloud.net> +zhulingjie <easyzlj@gmail.com> zzxwill <zzxwill@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/CONTRIBUTING.rst new/python-heatclient-1.17.0/CONTRIBUTING.rst --- old/python-heatclient-1.16.1/CONTRIBUTING.rst 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/CONTRIBUTING.rst 2019-01-15 02:35:54.000000000 +0100 @@ -11,6 +11,6 @@ Pull requests submitted through GitHub will be ignored. -Bugs should be filed on Launchpad, not GitHub: +Bugs should be filed on Storyboard, not GitHub: - https://bugs.launchpad.net/python-heatclient + https://storyboard.openstack.org/#!/project/openstack/python-heatclient diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/ChangeLog new/python-heatclient-1.17.0/ChangeLog --- old/python-heatclient-1.16.1/ChangeLog 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/ChangeLog 2019-01-15 02:39:00.000000000 +0100 @@ -1,9 +1,29 @@ CHANGES ======= +1.17.0 +------ + +* Update the bugs link to storyboard +* Update min tox version to 2.0 +* Replace deprecated "decodestring()" by "decodebytes()" +* Don't quote {posargs} in tox.ini +* Set X-Region-Name in header when using SessionClient +* Trivial: Update pypi url to new url +* Use templates for cover and lower-constraints +* Don't change pyyaml behavior +* Migrate the link of bug report button to storyboard +* add python 3.6 unit test job +* switch documentation job to new PTI +* import zuul job settings from project-config +* fix bug link in readme +* Update reno for stable/rocky +* Switch to stestr + 1.16.1 ------ +* Load files from adopt file when adopt stack * Handle token\_endpoint auth type in osc plugin * Update the documentation link for doc migration diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/PKG-INFO new/python-heatclient-1.17.0/PKG-INFO --- old/python-heatclient-1.16.1/PKG-INFO 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/PKG-INFO 2019-01-15 02:39:01.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-heatclient -Version: 1.16.1 +Version: 1.17.0 Summary: OpenStack Orchestration API Client Library Home-page: https://docs.openstack.org/python-heatclient/latest Author: OpenStack @@ -20,7 +20,7 @@ ================= .. image:: https://img.shields.io/pypi/v/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ + :target: https://pypi.org/project/python-heatclient/ :alt: Latest Version @@ -41,11 +41,11 @@ * `Template`_ * `How to Contribute`_ - .. _PyPi: https://pypi.python.org/pypi/python-heatclient + .. _PyPi: https://pypi.org/project/python-heatclient .. _Online Documentation: https://docs.openstack.org/python-heatclient/latest .. _Launchpad project: https://launchpad.net/python-heatclient .. _Blueprints: https://blueprints.launchpad.net/python-heatclient - .. _Bugs: https://bugs.launchpad.net/python-heatclient + .. _Bugs: https://storyboard.openstack.org/#!/project/openstack/python-heatclient .. _Source: https://git.openstack.org/cgit/openstack/python-heatclient .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html .. _Specs: https://specs.openstack.org/openstack/heat-specs/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/README.rst new/python-heatclient-1.17.0/README.rst --- old/python-heatclient-1.16.1/README.rst 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/README.rst 2019-01-15 02:35:54.000000000 +0100 @@ -12,7 +12,7 @@ ================= .. image:: https://img.shields.io/pypi/v/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ + :target: https://pypi.org/project/python-heatclient/ :alt: Latest Version @@ -33,11 +33,11 @@ * `Template`_ * `How to Contribute`_ -.. _PyPi: https://pypi.python.org/pypi/python-heatclient +.. _PyPi: https://pypi.org/project/python-heatclient .. _Online Documentation: https://docs.openstack.org/python-heatclient/latest .. _Launchpad project: https://launchpad.net/python-heatclient .. _Blueprints: https://blueprints.launchpad.net/python-heatclient -.. _Bugs: https://bugs.launchpad.net/python-heatclient +.. _Bugs: https://storyboard.openstack.org/#!/project/openstack/python-heatclient .. _Source: https://git.openstack.org/cgit/openstack/python-heatclient .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html .. _Specs: https://specs.openstack.org/openstack/heat-specs/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/doc/source/conf.py new/python-heatclient-1.17.0/doc/source/conf.py --- old/python-heatclient-1.16.1/doc/source/conf.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/doc/source/conf.py 2019-01-15 02:35:54.000000000 +0100 @@ -262,5 +262,5 @@ # -- Options for openstackdocstheme ------------------------------------------- repository_name = 'openstack/python-heatclient' -bug_project = 'python-heatclient' -bug_tag = '' +bug_project = '997' +bug_tag = 'docs' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/common/http.py new/python-heatclient-1.17.0/heatclient/common/http.py --- old/python-heatclient-1.16.1/heatclient/common/http.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/common/http.py 2019-01-15 02:35:54.000000000 +0100 @@ -358,6 +358,10 @@ if 'interface' not in kwargs and endpoint_type: kwargs['interface'] = endpoint_type + if 'region_name' in kwargs: + kwargs['additional_headers'] = { + 'X-Region-Name': kwargs['region_name']} + return SessionClient(session, auth=auth, **kwargs) else: return HTTPClient(endpoint=endpoint, username=username, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/common/template_format.py new/python-heatclient-1.17.0/heatclient/common/template_format.py --- old/python-heatclient-1.16.1/heatclient/common/template_format.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/common/template_format.py 2019-01-15 02:35:54.000000000 +0100 @@ -16,14 +16,23 @@ from heatclient._i18n import _ if hasattr(yaml, 'CSafeLoader'): - yaml_loader = yaml.CSafeLoader + yaml_loader_base = yaml.CSafeLoader else: - yaml_loader = yaml.SafeLoader + yaml_loader_base = yaml.SafeLoader if hasattr(yaml, 'CSafeDumper'): - yaml_dumper = yaml.CSafeDumper + yaml_dumper_base = yaml.CSafeDumper else: - yaml_dumper = yaml.SafeDumper + yaml_dumper_base = yaml.SafeDumper + + +# We create custom class to not overriden the default yaml behavior +class yaml_loader(yaml_loader_base): + pass + + +class yaml_dumper(yaml_dumper_base): + pass def _construct_yaml_str(self, node): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/osc/v1/stack.py new/python-heatclient-1.17.0/heatclient/osc/v1/stack.py --- old/python-heatclient-1.16.1/heatclient/osc/v1/stack.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/osc/v1/stack.py 2019-01-15 02:35:54.000000000 +0100 @@ -22,6 +22,7 @@ from oslo_serialization import jsonutils import six from six.moves.urllib import request +import yaml from heatclient._i18n import _ from heatclient.common import event_utils @@ -822,13 +823,15 @@ adopt_url = heat_utils.normalise_file_path_to_url( parsed_args.adopt_file) adopt_data = request.urlopen(adopt_url).read().decode('utf-8') - + yaml_adopt_data = yaml.safe_load(adopt_data) or {} + files = yaml_adopt_data.get('files', {}) + files.update(env_files) fields = { 'stack_name': parsed_args.name, 'disable_rollback': not parsed_args.enable_rollback, 'adopt_stack_data': adopt_data, 'parameters': heat_utils.format_parameters(parsed_args.parameter), - 'files': dict(list(env_files.items())), + 'files': files, 'environment': env, 'timeout': parsed_args.timeout } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/tests/test_templates/adopt_with_file.json new/python-heatclient-1.17.0/heatclient/tests/test_templates/adopt_with_file.json --- old/python-heatclient-1.16.1/heatclient/tests/test_templates/adopt_with_file.json 1970-01-01 01:00:00.000000000 +0100 +++ new/python-heatclient-1.17.0/heatclient/tests/test_templates/adopt_with_file.json 2019-01-15 02:35:54.000000000 +0100 @@ -0,0 +1,32 @@ +{ + "files": { + "file://empty.yaml": "{\"heat_template_version\": \"2015-10-15\"}" + }, + "status": "COMPLETE", + "name": "test", + "tags": null, + "stack_user_project_id": "8f51847805ee4994a1ac1d6d1a9bcd9b", + "environment": { + "event_sinks": [], + "parameter_defaults": {}, + "parameters": {}, + "resource_registry": { + "file://empty.yaml": "file://empty.yaml", + "resources": {} + } + }, + "template": { + "heat_template_version": "2015-04-30", + "resources": { + "empty_child": { + "type": "file://empty.yaml" + } + } + }, + "action": "CREATE", + "project_id": "02228cd21ae24ed7966768a9a41be507", + "id": "25b97c3b-2e9a-4222-bc30-da116ae74a08", + "resources": { + "empty_child": {} + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/tests/unit/osc/v1/test_stack.py new/python-heatclient-1.17.0/heatclient/tests/unit/osc/v1/test_stack.py --- old/python-heatclient-1.16.1/heatclient/tests/unit/osc/v1/test_stack.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/tests/unit/osc/v1/test_stack.py 2019-01-15 02:35:54.000000000 +0100 @@ -730,9 +730,12 @@ class TestStackAdopt(TestStack): adopt_file = 'heatclient/tests/test_templates/adopt.json' + adopt_with_files = ('heatclient/tests/test_templates/adopt_with_file.json') with open(adopt_file, 'r') as f: adopt_data = f.read() + with open(adopt_with_files, 'r') as f: + adopt_with_files_data = f.read() defaults = { 'stack_name': 'my_stack', @@ -744,6 +747,18 @@ 'timeout': None } + child_stack_yaml = "{\"heat_template_version\": \"2015-10-15\"}" + + expected_with_files = { + 'stack_name': 'my_stack', + 'disable_rollback': True, + 'adopt_stack_data': adopt_with_files_data, + 'parameters': {}, + 'files': {'file://empty.yaml': child_stack_yaml}, + 'environment': {}, + 'timeout': None + } + def setUp(self): super(TestStackAdopt, self).setUp() self.cmd = stack.AdoptStack(self.app, None) @@ -776,8 +791,8 @@ 'Stack my_stack ADOPT_COMPLETE')) def test_stack_adopt_wait(self, mock_poll): arglist = ['my_stack', '--adopt-file', self.adopt_file, '--wait'] - self.stack_client.get.return_value = \ - stacks.Stack(None, {'stack_status': 'ADOPT_COMPLETE'}) + self.stack_client.get.return_value = stacks.Stack( + None, {'stack_status': 'ADOPT_COMPLETE'}) parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) @@ -791,12 +806,25 @@ 'Stack my_stack ADOPT_FAILED')) def test_stack_adopt_wait_fail(self, mock_poll): arglist = ['my_stack', '--adopt-file', self.adopt_file, '--wait'] - self.stack_client.get.return_value = \ - stacks.Stack(None, {'stack_status': 'ADOPT_FAILED'}) + self.stack_client.get.return_value = stacks.Stack( + None, {'stack_status': 'ADOPT_FAILED'}) parsed_args = self.check_parser(self.cmd, arglist, []) self.assertRaises(exc.CommandError, self.cmd.take_action, parsed_args) + def test_stack_adopt_with_adopt_files(self): + # Make sure when we adopt with files in adopt script, we will load + # those files as part of input when calling adopt. + arglist = ['my_stack', '--adopt-file', self.adopt_with_files] + cols = ['id', 'stack_name', 'description', 'creation_time', + 'updated_time', 'stack_status', 'stack_status_reason'] + parsed_args = self.check_parser(self.cmd, arglist, []) + + columns, data = self.cmd.take_action(parsed_args) + + self.stack_client.create.assert_called_with(**self.expected_with_files) + self.assertEqual(cols, columns) + class TestStackExport(TestStack): @@ -1225,8 +1253,8 @@ self.mock_client.actions.cancel_update, 'ROLLBACK' ) - self.mock_client.stacks.get.return_value = \ - self.stack_update_in_progress + self.mock_client.stacks.get.return_value = ( + self.stack_update_in_progress) def test_stack_cancel(self): self._test_stack_action(2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/tests/unit/test_template_utils.py new/python-heatclient-1.17.0/heatclient/tests/unit/test_template_utils.py --- old/python-heatclient-1.16.1/heatclient/tests/unit/test_template_utils.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/tests/unit/test_template_utils.py 2019-01-15 02:35:54.000000000 +0100 @@ -11,11 +11,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -import base64 import json import tempfile import mock +from oslo_serialization import base64 import six from six.moves.urllib import error import testtools @@ -715,7 +715,7 @@ 'content': {'get_file': url}, 'encoding': 'b64'}]}}}}} with mock.patch('six.moves.urllib.request.urlopen') as mock_url: - raw_content = base64.decodestring(content) + raw_content = base64.decode_as_bytes(content) response = six.BytesIO(raw_content) mock_url.return_value = response files = {} @@ -732,8 +732,8 @@ AAAACAAYAAAAAAABAAAApIEA\nAAAAaGVhdC50eHRVVAUAAxRbDVN1eAsAAQToAwA\ ABOkDAABQSwUGAAAAAAEAAQBOAAAARwAAAAAA\n''' # zip has '\0' in stream - self.assertIn(b'\0', base64.decodestring(content)) - decoded_content = base64.decodestring(content) + self.assertIn(b'\0', base64.decode_as_bytes(content)) + decoded_content = base64.decode_as_bytes(content) if six.PY3: self.assertRaises(UnicodeDecodeError, decoded_content.decode) else: @@ -748,8 +748,8 @@ filename = 'heat.utf16' content = b'//4tTkhTCgA=\n' # utf6 has '\0' in stream - self.assertIn(b'\0', base64.decodestring(content)) - decoded_content = base64.decodestring(content) + self.assertIn(b'\0', base64.decode_as_bytes(content)) + decoded_content = base64.decode_as_bytes(content) if six.PY3: self.assertRaises(UnicodeDecodeError, decoded_content.decode) else: @@ -763,8 +763,8 @@ filename = 'heat.gb18030' content = b'1tDO5wo=\n' # gb18030 has no '\0' in stream - self.assertNotIn('\0', base64.decodestring(content)) - decoded_content = base64.decodestring(content) + self.assertNotIn('\0', base64.decode_as_bytes(content)) + decoded_content = base64.decode_as_bytes(content) if six.PY3: self.assertRaises(UnicodeDecodeError, decoded_content.decode) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/heatclient/v1/shell.py new/python-heatclient-1.17.0/heatclient/v1/shell.py --- old/python-heatclient-1.16.1/heatclient/v1/shell.py 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/heatclient/v1/shell.py 2019-01-15 02:35:54.000000000 +0100 @@ -185,6 +185,10 @@ adopt_url = utils.normalise_file_path_to_url(args.adopt_file) adopt_data = request.urlopen(adopt_url).read() + yaml_adopt_data = yaml.safe_load(adopt_data) or {} + + files = yaml_adopt_data.get('files', {}) + files.update(env_files) if not len(adopt_data): raise exc.CommandError('Invalid adopt-file, no data!') @@ -201,7 +205,7 @@ 'disable_rollback': not(args.enable_rollback), 'adopt_stack_data': adopt_data, 'parameters': utils.format_parameters(args.parameters), - 'files': dict(list(env_files.items())), + 'files': files, 'environment': env } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/lower-constraints.txt new/python-heatclient-1.17.0/lower-constraints.txt --- old/python-heatclient-1.16.1/lower-constraints.txt 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/lower-constraints.txt 2019-01-15 02:35:54.000000000 +0100 @@ -85,10 +85,9 @@ snowballstemmer==1.2.1 Sphinx==1.6.2 sphinxcontrib-websupport==1.0.1 -stestr==1.0.0 +stestr==2.0.0 stevedore==1.20.0 tempest==17.1.0 -testrepository==0.0.18 testscenarios==0.4 testtools==2.2.0 traceback2==1.4.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/python_heatclient.egg-info/PKG-INFO new/python-heatclient-1.17.0/python_heatclient.egg-info/PKG-INFO --- old/python-heatclient-1.16.1/python_heatclient.egg-info/PKG-INFO 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/python_heatclient.egg-info/PKG-INFO 2019-01-15 02:39:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-heatclient -Version: 1.16.1 +Version: 1.17.0 Summary: OpenStack Orchestration API Client Library Home-page: https://docs.openstack.org/python-heatclient/latest Author: OpenStack @@ -20,7 +20,7 @@ ================= .. image:: https://img.shields.io/pypi/v/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ + :target: https://pypi.org/project/python-heatclient/ :alt: Latest Version @@ -41,11 +41,11 @@ * `Template`_ * `How to Contribute`_ - .. _PyPi: https://pypi.python.org/pypi/python-heatclient + .. _PyPi: https://pypi.org/project/python-heatclient .. _Online Documentation: https://docs.openstack.org/python-heatclient/latest .. _Launchpad project: https://launchpad.net/python-heatclient .. _Blueprints: https://blueprints.launchpad.net/python-heatclient - .. _Bugs: https://bugs.launchpad.net/python-heatclient + .. _Bugs: https://storyboard.openstack.org/#!/project/openstack/python-heatclient .. _Source: https://git.openstack.org/cgit/openstack/python-heatclient .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html .. _Specs: https://specs.openstack.org/openstack/heat-specs/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/python_heatclient.egg-info/SOURCES.txt new/python-heatclient-1.17.0/python_heatclient.egg-info/SOURCES.txt --- old/python-heatclient-1.16.1/python_heatclient.egg-info/SOURCES.txt 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/python_heatclient.egg-info/SOURCES.txt 2019-01-15 02:39:01.000000000 +0100 @@ -1,5 +1,5 @@ .coveragerc -.testr.conf +.stestr.conf .zuul.yaml AUTHORS CONTRIBUTING.rst @@ -71,6 +71,7 @@ heatclient/tests/functional/templates/heat_minimal.yaml heatclient/tests/functional/templates/heat_minimal_hot.yaml heatclient/tests/test_templates/adopt.json +heatclient/tests/test_templates/adopt_with_file.json heatclient/tests/test_templates/empty.yaml heatclient/tests/test_templates/parameters.yaml heatclient/tests/unit/__init__.py @@ -146,5 +147,6 @@ releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/queens.rst +releasenotes/source/rocky.rst releasenotes/source/unreleased.rst tools/heat.bash_completion \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/python_heatclient.egg-info/pbr.json new/python-heatclient-1.17.0/python_heatclient.egg-info/pbr.json --- old/python-heatclient-1.16.1/python_heatclient.egg-info/pbr.json 2018-07-27 18:43:24.000000000 +0200 +++ new/python-heatclient-1.17.0/python_heatclient.egg-info/pbr.json 2019-01-15 02:39:00.000000000 +0100 @@ -1 +1 @@ -{"git_version": "b5f3d34", "is_release": true} \ No newline at end of file +{"git_version": "8af5deb", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/releasenotes/source/index.rst new/python-heatclient-1.17.0/releasenotes/source/index.rst --- old/python-heatclient-1.16.1/releasenotes/source/index.rst 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/releasenotes/source/index.rst 2019-01-15 02:35:54.000000000 +0100 @@ -7,5 +7,6 @@ :caption: Contents: unreleased + rocky queens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/releasenotes/source/rocky.rst new/python-heatclient-1.17.0/releasenotes/source/rocky.rst --- old/python-heatclient-1.16.1/releasenotes/source/rocky.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/python-heatclient-1.17.0/releasenotes/source/rocky.rst 2019-01-15 02:35:54.000000000 +0100 @@ -0,0 +1,6 @@ +=================================== + Rocky Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/rocky diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/test-requirements.txt new/python-heatclient-1.17.0/test-requirements.txt --- old/python-heatclient-1.16.1/test-requirements.txt 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/test-requirements.txt 2019-01-15 02:35:54.000000000 +0100 @@ -10,7 +10,7 @@ mock>=2.0.0 # BSD mox3>=0.20.0 # Apache-2.0 python-openstackclient>=3.12.0 # Apache-2.0 +stestr>=2.0.0 # Apache-2.0 tempest>=17.1.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD testscenarios>=0.4 # Apache-2.0/BSD testtools>=2.2.0 # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-heatclient-1.16.1/tox.ini new/python-heatclient-1.17.0/tox.ini --- old/python-heatclient-1.16.1/tox.ini 2018-07-27 18:39:31.000000000 +0200 +++ new/python-heatclient-1.17.0/tox.ini 2019-01-15 02:35:54.000000000 +0100 @@ -1,6 +1,6 @@ [tox] envlist = pypy,py35,py27,pep8 -minversion = 1.6 +minversion = 2.0 skipsdist = True [testenv] @@ -13,7 +13,7 @@ -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = find . -type f -name "*.py[c|o]" -delete - python setup.py testr --slowest --testr-args='{posargs}' + stestr run --slowest {posargs} whitelist_externals = find [testenv:debug] @@ -45,8 +45,13 @@ [testenv:cover] basepython = python3 +setenv = + PYTHON=coverage run --source heatclient --parallel-mode commands = - python setup.py testr --coverage --testr-args='{posargs}' + stestr run {posargs} + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml coverage report [testenv:docs]
participants (1)
-
root