diff -Nru python-heatclient-1.14.0/AUTHORS python-heatclient-1.17.0/AUTHORS --- python-heatclient-1.14.0/AUTHORS 2018-02-01 16:57:17.000000000 +0000 +++ python-heatclient-1.17.0/AUTHORS 2019-01-15 01:39:00.000000000 +0000 @@ -16,6 +16,7 @@ Bryan D. Payne Bryan Jones Cao Xuan Hoang +Chen ChenZheng Chmouel Boudjnah Christian Berendt @@ -43,6 +44,7 @@ Ivan Kolodyazhny JUN JIE NAN JUNJIE NAN +James E. Blair Jamie Lennox Jason Dunsmore Jay Dobies @@ -63,13 +65,16 @@ M V P Nitesh Mark Vanderwiel Masahito Muroi +Mehdi Abaakouk Monty Taylor Nachi Ueno Nam Nguyen Hoai Naohiro Tamura +Nguyen Hai Oleg Khavroshin Oleksii Chuprykov Ondřej Nový +OpenStack Release Bot Pablo Andres Fuente Pablo Iranzo Gómez PanFengyun @@ -118,28 +123,34 @@ Tim Schnell Tomas Sedovic Tomas Sedovic +Tovin Seven Unmesh Gurjar Van Hung Pham Victor Morales +Vieri <15050873171@163.com> Vijayaguru Guruchave Vijendar Komalla Vijendra Soni +Vu Cong Tuan Winnie Tsang Zane Bitter Zhang Yang ZhiQiang Fan ZhiQiang Fan -Zuul +ZhijunWei anusha-rayani-7 bhagyashris +blue55 cedric.brandily chenhaiq chenxiao dixiaoli gong yong sheng +huang.zhiping huangtianhua ji-xuepeng kairat_kushaev +lingyongxu liu-sheng liuqing liyi @@ -147,6 +158,7 @@ lvdongbing neetu rabi +rajat29 rico.lin ricolin ricolin @@ -164,4 +176,5 @@ zengyingzhe zhang-jinnan zhangguoqing +zhulingjie zzxwill diff -Nru python-heatclient-1.14.0/ChangeLog python-heatclient-1.17.0/ChangeLog --- python-heatclient-1.14.0/ChangeLog 2018-02-01 16:57:17.000000000 +0000 +++ python-heatclient-1.17.0/ChangeLog 2019-01-15 01:39:00.000000000 +0000 @@ -1,10 +1,61 @@ 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 + +1.16.0 +------ + +* Mark stacks returned by get loaded +* Remove PyPI downloads +* fix tox python3 overrides +* Fix osc cli docs + +1.15.0 +------ + +* Change testenv from py34 to py35 +* Use assertRegex instead of assertRegexpMatches +* add lower-constraints job +* Improve titles of generated API documentation +* Add heat CLI test for stack-show +* Follow the new PTI for document build +* Updated from global requirements +* Updated from global requirements +* Updated from global requirements +* Update reno for stable/queens +* Fix log\_http\_request function in http module + 1.14.0 ------ * Updated from global requirements +* Zuul: Remove project name +* Document osc CLI 1.13.1 ------ @@ -28,16 +79,19 @@ ------ * Add \`--converge\` argument for osc stack update +* [policy in code] Change policy description * Use generic user for both zuul v2 and v3 * No longer use oslotest.mockpatch * Don't override sections in deep\_update * Updated from global requirements +* Mark python-heatclient as stable * Support --show-nested in openstack stack update --dry-run * Use Sphinx 1.5 warning-is-error * Updated from global requirements * Remove vestigate HUDSON\_PUBLISH\_DOCS reference * Updated from global requirements * Imported Translations from Zanata +* Using fixtures instead of deprecated mockpatch module * Updated from global requirements 1.11.0 @@ -50,6 +104,7 @@ * Updated from global requirements * Updated from global requirements * Switch from oslosphinx to openstackdocstheme +* Enable some off-by-default checks * Updated from global requirements 1.10.0 diff -Nru python-heatclient-1.14.0/CONTRIBUTING.rst python-heatclient-1.17.0/CONTRIBUTING.rst --- python-heatclient-1.14.0/CONTRIBUTING.rst 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/CONTRIBUTING.rst 2019-01-15 01:35:54.000000000 +0000 @@ -1,16 +1,16 @@ If you would like to contribute to the development of OpenStack, you must follow the steps documented at: - http://docs.openstack.org/infra/manual/developers.html#development-workflow + https://docs.openstack.org/infra/manual/developers.html#development-workflow Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at: - http://docs.openstack.org/infra/manual/developers.html#development-workflow + https://docs.openstack.org/infra/manual/developers.html#development-workflow 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 -Nru python-heatclient-1.14.0/debian/changelog python-heatclient-1.17.0/debian/changelog --- python-heatclient-1.14.0/debian/changelog 2018-02-12 14:24:58.000000000 +0000 +++ python-heatclient-1.17.0/debian/changelog 2019-02-05 21:38:44.000000000 +0000 @@ -1,3 +1,59 @@ +python-heatclient (1.17.0-0ubuntu1~cloud0) bionic-stein; urgency=medium + + * New update for the Ubuntu Cloud Archive. + + -- Openstack Ubuntu Testing Bot Tue, 05 Feb 2019 21:38:44 +0000 + +python-heatclient (1.17.0-0ubuntu1) disco; urgency=medium + + * New upstream release for OpenStack Stein. + * d/control: Align (Build-)Depends with upstream. + + -- Corey Bryant Wed, 30 Jan 2019 10:17:39 -0500 + +python-heatclient (1.16.1-0ubuntu1) cosmic; urgency=medium + + * New upstream release for OpenStack Rocky. + * d/control: Align (Build-)Depends with upstream. + + -- Corey Bryant Mon, 30 Jul 2018 17:34:35 -0400 + +python-heatclient (1.15.0-0ubuntu1) cosmic; urgency=low + + * Merge from Debian unstable. Remaining changes: + - d/gbp.conf: Retain for pristine-tar. + - d/control: Enable autopkgtest-pkg-python testsuite. + - d/watch: Get tarball from tarballs.openstack.org. + * d/control, d/tests/*: Enable autopkgtest-pkg-python testsuite. + * New upstream release. + * d/control: Align (Build-)Depends with upstream. + + -- Corey Bryant Tue, 12 Jun 2018 08:51:21 -0400 + +python-heatclient (1.14.0-3) unstable; urgency=medium + + * Python 3 has now priority over Python 2. + + -- Thomas Goirand Sun, 11 Mar 2018 13:04:58 +0100 + +python-heatclient (1.14.0-2) unstable; urgency=medium + + * Uploading to unstable. + + -- Thomas Goirand Sun, 25 Feb 2018 21:51:55 +0000 + +python-heatclient (1.14.0-1) experimental; urgency=medium + + [ Ondřej Nový ] + * d/control: Set Vcs-* to salsa.debian.org + + [ Thomas Goirand ] + * New upstream release. + * Fixed (build-)depends for this release. + * Standards-Version is now 4.1.3. + + -- Thomas Goirand Tue, 13 Feb 2018 09:04:34 +0000 + python-heatclient (1.14.0-0ubuntu1) bionic; urgency=medium * New upstream release. @@ -24,6 +80,36 @@ -- Corey Bryant Mon, 13 Nov 2017 13:49:03 -0500 +python-heatclient (1.11.0-2) unstable; urgency=medium + + * Uploading to unstable. + + -- Thomas Goirand Wed, 01 Nov 2017 23:59:54 +0000 + +python-heatclient (1.11.0-1) experimental; urgency=medium + + [ Ondřej Nový ] + * Standards-Version is 3.9.8 now (no change) + + [ Daniel Baumann ] + * Updating vcs fields. + * Updating copyright format url. + * Running wrap-and-sort -bast. + * Updating maintainer field. + * Updating standards version to 4.0.0. + * Removing gbp.conf, not used anymore or should be specified in the + developers dotfiles. + * Correcting permissions in debian packaging files. + * Updating standards version to 4.0.1. + * Updating standards version to 4.1.0. + + [ Thomas Goirand ] + * New upstream release. + * Fixed (build-)depends for this release. + * Using pkgos-dh_auto_{install,test}. + + -- Thomas Goirand Tue, 03 Oct 2017 19:24:38 +0200 + python-heatclient (1.11.0-0ubuntu1) artful; urgency=medium * New upstream release. @@ -233,3 +319,4 @@ * Initial release. (Closes: #705231) -- Prach Pongpanich Thu, 11 Apr 2013 12:03:51 +0700 + diff -Nru python-heatclient-1.14.0/debian/control python-heatclient-1.17.0/debian/control --- python-heatclient-1.14.0/debian/control 2018-02-12 14:24:58.000000000 +0000 +++ python-heatclient-1.17.0/debian/control 2019-01-30 15:17:39.000000000 +0000 @@ -2,13 +2,13 @@ Section: python Priority: optional Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: PKG OpenStack +XSBC-Original-Maintainer: Debian OpenStack Uploaders: Thomas Goirand , Prach Pongpanich , Corey Bryant , Build-Depends: - debhelper (>= 10~), + debhelper (>= 10), dh-python, openstack-pkg-tools, python-all, @@ -27,59 +27,62 @@ python-fixtures (>= 3.0.0), python-hacking (>= 0.12.0), python-iso8601 (>= 0.1.11), - python-keystoneauth1 (>= 3.3.0), + python-keystoneauth1 (>= 3.4.0), python-mock (>= 2.0.0), python-mox3 (>= 0.20.0), python-openstackclient (>= 3.12.0), - python-openstackdocstheme (>= 1.18.1), - python-osc-lib (>= 1.8.0), + python-osc-lib (>= 1.11.0), python-oslo.i18n (>= 3.15.3), python-oslo.serialization (>= 2.18.0), python-oslo.utils (>= 3.33.0), - python-oslotest (>= 1.10.0), - python-prettytable (>= 0.7.1), + python-prettytable (>= 0.7.2), python-requests (>= 2.14.2), - python-requests-mock (>= 1.1.0), + python-requests-mock (>= 1.2.0), python-six (>= 1.10.0), + python-sphinxcontrib.httpdomain (>= 1.3.0), + python-stestr (>= 2.0.0), python-swiftclient (>= 1:3.2.0), python-tempest (>= 1:17.1.0), python-testrepository (>= 0.0.18), python-testscenarios (>= 0.4), python-testtools (>= 2.2.0), - python-yaml (>= 3.10), + python-yaml (>= 3.12), python3-babel (>= 2.3.4), python3-cliff (>= 2.8.0), python3-coverage (>= 4.0), python3-fixtures (>= 3.0.0), python3-hacking (>= 0.12.0), python3-iso8601 (>= 0.1.11), - python3-keystoneauth1 (>= 3.3.0), + python3-keystoneauth1 (>= 3.4.0), python3-mock (>= 2.0.0), python3-mox3 (>= 0.20.0), python3-openstackclient (>= 3.12.0), python3-openstackdocstheme (>= 1.18.1), - python3-osc-lib (>= 1.8.0), + python3-osc-lib (>= 1.11.0), python3-oslo.i18n (>= 3.15.3), python3-oslo.serialization (>= 2.18.0), python3-oslo.utils (>= 3.33.0), - python3-oslotest (>= 1.10.0), - python3-prettytable (>= 0.7.1), + python3-prettytable (>= 0.7.2), + python3-reno (>= 2.5.0), python3-requests (>= 2.14.2), - python3-requests-mock (>= 1.1.0), + python3-requests-mock (>= 1.2.0), python3-six (>= 1.10.0), + python3-sphinxcontrib.httpdomain (>= 1.3.0), + python3-stestr (>= 2.0.0), python3-subunit, python3-swiftclient (>= 1:3.2.0), python3-tempest (>= 1:17.1.0), python3-testrepository (>= 0.0.18), python3-testscenarios (>= 0.4), python3-testtools (>= 2.2.0), - python3-yaml (>= 3.10), + python3-yaml (>= 3.12), subunit, testrepository, -Standards-Version: 4.1.2 +Standards-Version: 4.1.3 Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-heatclient -Vcs-Git: git://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-heatclient +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-heatclient Homepage: https://github.com/openstack/python-heatclient +Testsuite: autopkgtest-pkg-python Package: python-heatclient Architecture: all @@ -87,17 +90,17 @@ python-babel (>= 2.3.4), python-cliff (>= 2.8.0), python-iso8601 (>= 0.1.11), - python-keystoneauth1 (>= 3.3.0), - python-osc-lib (>= 1.8.0), + python-keystoneauth1 (>= 3.4.0), + python-osc-lib (>= 1.11.0), python-oslo.i18n (>= 3.15.3), python-oslo.serialization (>= 2.18.0), python-oslo.utils (>= 3.33.0), python-pbr (>= 2.0.0), - python-prettytable (>= 0.7.1), + python-prettytable (>= 0.7.2), python-requests (>= 2.14.2), python-six (>= 1.10.0), python-swiftclient (>= 1:3.2.0), - python-yaml (>= 3.10), + python-yaml (>= 3.12), ${misc:Depends}, ${python:Depends}, Description: client library and CLI for OpenStack Heat - Python 2.7 @@ -117,17 +120,17 @@ python3-babel (>= 2.3.4), python3-cliff (>= 2.8.0), python3-iso8601 (>= 0.1.11), - python3-keystoneauth1 (>= 3.3.0), - python3-osc-lib (>= 1.8.0), + python3-keystoneauth1 (>= 3.4.0), + python3-osc-lib (>= 1.11.0), python3-oslo.i18n (>= 3.15.3), python3-oslo.serialization (>= 2.18.0), python3-oslo.utils (>= 3.33.0), python3-pbr (>= 2.0.0), - python3-prettytable (>= 0.7.1), + python3-prettytable (>= 0.7.2), python3-requests (>= 2.14.2), python3-six (>= 1.10.0), python3-swiftclient (>= 1:3.2.0), - python3-yaml (>= 3.10), + python3-yaml (>= 3.12), ${misc:Depends}, ${python3:Depends}, Description: client library and CLI for OpenStack Heat - Python 3.x diff -Nru python-heatclient-1.14.0/debian/copyright python-heatclient-1.17.0/debian/copyright --- python-heatclient-1.14.0/debian/copyright 2018-02-12 14:24:58.000000000 +0000 +++ python-heatclient-1.17.0/debian/copyright 2019-01-30 15:17:39.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: python-heatclient Source: https://github.com/openstack/python-heatclient diff -Nru python-heatclient-1.14.0/debian/python3-heatclient.postinst python-heatclient-1.17.0/debian/python3-heatclient.postinst --- python-heatclient-1.14.0/debian/python3-heatclient.postinst 2018-02-12 14:24:58.000000000 +0000 +++ python-heatclient-1.17.0/debian/python3-heatclient.postinst 2019-01-30 15:17:39.000000000 +0000 @@ -3,7 +3,7 @@ set -e if [ "$1" = "configure" ] ; then - update-alternatives --install /usr/bin/heat heat /usr/bin/python3-heat 200 + update-alternatives --install /usr/bin/heat heat /usr/bin/python3-heat 400 fi #DEBHELPER# diff -Nru python-heatclient-1.14.0/debian/rules python-heatclient-1.17.0/debian/rules --- python-heatclient-1.14.0/debian/rules 2018-02-12 14:24:58.000000000 +0000 +++ python-heatclient-1.17.0/debian/rules 2019-01-30 15:17:39.000000000 +0000 @@ -1,26 +1,12 @@ #!/usr/bin/make -f -PYTHONS:=$(shell pyversions -vr) -PYTHON3S:=$(shell py3versions -vr) - include /usr/share/openstack-pkg-tools/pkgos.make -export OSLO_PACKAGE_VERSION=$(VERSION) %: dh $@ --with python2,python3 override_dh_auto_install: - set -e ; for pyvers in $(PYTHONS); do \ - python$$pyvers setup.py install --install-layout=deb \ - --root $(CURDIR)/debian/python-heatclient ; \ - done - set -e && for pyvers in $(PYTHON3S); do \ - python$$pyvers setup.py install --install-layout=deb \ - --root $(CURDIR)/debian/python3-heatclient ; \ - done - mv $(CURDIR)/debian/python-heatclient/usr/bin/heat $(CURDIR)/debian/python-heatclient/usr/bin/python2-heat - mv $(CURDIR)/debian/python3-heatclient/usr/bin/heat $(CURDIR)/debian/python3-heatclient/usr/bin/python3-heat - rm -f $(CURDIR)/debian/python*/usr/lib/python*/dist-packages/*.pth + pkgos-dh_auto_install override_dh_python3: dh_python3 --shebang=/usr/bin/python3 @@ -35,15 +21,5 @@ override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) - set -e ; for i in $(PYTHONS) $(PYTHON3S) ; do \ - PYMAJOR=`echo $$i | cut -d'.' -f1` ; \ - echo "===> Testing with python$$i (python$$PYMAJOR)" ; \ - rm -rf .testrepository ; \ - testr-python$$PYMAJOR init ; \ - TEMP_REZ=`mktemp -t` && \ - PYTHONPATH=$(CURDIR) PYTHON=python$$i testr-python$$PYMAJOR run --subunit | tee $$TEMP_REZ | subunit2pyunit ; \ - cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \ - rm -f $$TEMP_REZ ; \ - testr-python$$PYMAJOR slowest ; \ - done + pkgos-dh_auto_test endif diff -Nru python-heatclient-1.14.0/doc/requirements.txt python-heatclient-1.17.0/doc/requirements.txt --- python-heatclient-1.14.0/doc/requirements.txt 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/requirements.txt 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,4 @@ +openstackdocstheme>=1.18.1 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +sphinxcontrib-httpdomain>=1.3.0 # BSD diff -Nru python-heatclient-1.14.0/doc/source/cli/index.rst python-heatclient-1.17.0/doc/source/cli/index.rst --- python-heatclient-1.14.0/doc/source/cli/index.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/cli/index.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,9 @@ +============ +Command List +============ + +.. toctree:: + :glob: + :maxdepth: 3 + + * diff -Nru python-heatclient-1.14.0/doc/source/cli/orchestration.rst python-heatclient-1.17.0/doc/source/cli/orchestration.rst --- python-heatclient-1.14.0/doc/source/cli/orchestration.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/cli/orchestration.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,24 @@ +============= +orchestration +============= + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration template validate + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration template version list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration template function list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration resource type list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration resource type show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration build info + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: orchestration service list diff -Nru python-heatclient-1.14.0/doc/source/cli/software_config.rst python-heatclient-1.17.0/doc/source/cli/software_config.rst --- python-heatclient-1.14.0/doc/source/cli/software_config.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/cli/software_config.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,16 @@ +=============== +software config +=============== + + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software config list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software config create + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software config show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software config delete diff -Nru python-heatclient-1.14.0/doc/source/cli/software_deployment.rst python-heatclient-1.17.0/doc/source/cli/software_deployment.rst --- python-heatclient-1.14.0/doc/source/cli/software_deployment.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/cli/software_deployment.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,22 @@ +=================== +software deployment +=================== + + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment create + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment output show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment delete + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: software deployment metadata show diff -Nru python-heatclient-1.14.0/doc/source/cli/stack.rst python-heatclient-1.17.0/doc/source/cli/stack.rst --- python-heatclient-1.14.0/doc/source/cli/stack.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/cli/stack.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,123 @@ +===== +stack +===== + +Basic actions +------------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack create + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack update + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack cancel + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack delete + +Outputs +------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack output list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack output show + +Resources +--------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resource list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resource show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resource metadata + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resource mark unhealthy + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resource signal + +Events +------ + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack event list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack event show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack failures list + +Input data +---------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack template show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack environment show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack file list + +User hooks +---------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack hook poll + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack hook clear + +Other actions +------------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack check + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack suspend + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack resume + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack export + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack abandon + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack adopt + +Snapshots +--------- + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack snapshot list + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack snapshot create + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack snapshot restore + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack snapshot show + +.. autoprogram-cliff:: openstack.orchestration.v1 + :command: stack snapshot delete diff -Nru python-heatclient-1.14.0/doc/source/conf.py python-heatclient-1.17.0/doc/source/conf.py --- python-heatclient-1.14.0/doc/source/conf.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/conf.py 2019-01-15 01:35:54.000000000 +0000 @@ -36,7 +36,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'openstackdocstheme'] +extensions = ['sphinx.ext.autodoc', 'openstackdocstheme', 'cliff.sphinxext'] # Add any paths that contain templates here, relative to this directory. templates_path = [] @@ -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 -Nru python-heatclient-1.14.0/doc/source/ext/gen_ref.py python-heatclient-1.17.0/doc/source/ext/gen_ref.py --- python-heatclient-1.14.0/doc/source/ext/gen_ref.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/ext/gen_ref.py 2019-01-15 01:35:54.000000000 +0000 @@ -37,7 +37,7 @@ ".. toctree::\n" " :maxdepth: 1\n" "\n") % {"title": title, "signs": "=" * len(title)}) - for name in names: + for name, sec_title in names.items(): idx.write(" %s\n" % name) rstpath = os.path.join(refdir, "%s.rst" % name) with open(rstpath, "w") as rst: @@ -49,11 +49,15 @@ " :undoc-members:\n" " :show-inheritance:\n" " :noindex:\n") - % {"title": name.capitalize(), - "signs": "=" * len(name), + % {"title": sec_title, + "signs": "=" * len(sec_title), "pkg": pkg, "name": name}) -gen_ref("", "Client Reference", ["client", "exc"]) +gen_ref("", "Client Reference", {"client": "Client", "exc": "Exceptions"}) gen_ref("v1", "Version 1 API Reference", - ["stacks", "resources", "events", "actions", - "software_configs", "software_deployments"]) + {"stacks": "Stacks", + "resources": "Resources", + "events": "Events", + "actions": "Actions", + "software_configs": "Software Configs", + "software_deployments": "Software Deployments"}) diff -Nru python-heatclient-1.14.0/doc/source/index.rst python-heatclient-1.17.0/doc/source/index.rst --- python-heatclient-1.14.0/doc/source/index.rst 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/doc/source/index.rst 2019-01-15 01:35:54.000000000 +0000 @@ -1,10 +1,11 @@ Python bindings to the OpenStack Heat API ========================================= -This is a client for OpenStack Heat API. There's a Python API -(the :mod:`heatclient` module), and a command-line script -(installed as :program:`heat`). +This is a client for OpenStack Heat API. There's a Python API (the +:mod:`heatclient` module), a `python-openstackclient`_ plugin for command-line +use, and a legacy command-line script (installed as :program:`heat`). +========== Python API ========== @@ -41,7 +42,7 @@ For more information on keystoneauth API, see `Using Sessions`_. -.. _Using Sessions: http://docs.openstack.org/developer/keystoneauth/using-sessions.html +.. _Using Sessions: https://docs.openstack.org/keystoneauth/latest/using-sessions.html Reference --------- @@ -52,8 +53,28 @@ ref/index ref/v1/index -Command-line Tool -================= +============================ +OpenStackClient Command Line +============================ + +The preferred way of accessing Heat via the command line is using the +python-heatclient's plugin for `python-openstackclient`_. Heat commands are +available through the ``openstack`` CLI command when both python-heatclient and +python-openstackclient are installed. + +.. toctree:: + :maxdepth: 2 + + cli/index + +.. _python-openstackclient: https://docs.openstack.org/python-openstackclient + +======================== +Legacy Command-line Tool +======================== + +The ``heat`` command is provided as a legacy CLI option. Users should prefer +using the python-openstackclient plugin via the ``openstack`` command instead. In order to use the CLI, you must provide your OpenStack username, password, tenant, and auth endpoint. Use the corresponding @@ -79,20 +100,22 @@ ``heat help`` to see a complete listing of available commands. Man Pages -========= +--------- .. toctree:: :maxdepth: 1 man/heat + +============ Contributing ============ -Code is hosted `on GitHub`_. Submit bugs to the Heat project on -`Launchpad`_. Submit code to the openstack/python-heatclient project -using `Gerrit`_. +Code is mirrored `on GitHub`_. Submit bugs to the python-heatclient project on +`Launchpad`_. Submit code to the openstack/python-heatclient project using +`Gerrit`_. .. _on GitHub: https://github.com/openstack/python-heatclient .. _Launchpad: https://launchpad.net/python-heatclient -.. _Gerrit: http://docs.openstack.org/infra/manual/developers.html#development-workflow +.. _Gerrit: https://docs.openstack.org/infra/manual/developers.html#development-workflow diff -Nru python-heatclient-1.14.0/heatclient/common/http.py python-heatclient-1.17.0/heatclient/common/http.py --- python-heatclient-1.14.0/heatclient/common/http.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/common/http.py 2019-01-15 01:35:54.000000000 +0000 @@ -137,7 +137,10 @@ if 'data' in kwargs: curl.append('-d \'%s\'' % kwargs['data']) - curl.append('%s%s' % (self.endpoint, url)) + if not parse.urlparse(url).netloc: + url = self.endpoint + url + + curl.append(url) LOG.debug(' '.join(curl)) @staticmethod @@ -355,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 -Nru python-heatclient-1.14.0/heatclient/common/template_format.py python-heatclient-1.17.0/heatclient/common/template_format.py --- python-heatclient-1.14.0/heatclient/common/template_format.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/common/template_format.py 2019-01-15 01:35:54.000000000 +0000 @@ -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 -Nru python-heatclient-1.14.0/heatclient/_i18n.py python-heatclient-1.17.0/heatclient/_i18n.py --- python-heatclient-1.14.0/heatclient/_i18n.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/_i18n.py 2019-01-15 01:35:54.000000000 +0000 @@ -12,7 +12,7 @@ """oslo.i18n integration module. -See http://docs.openstack.org/developer/oslo.i18n/usage.html +See https://docs.openstack.org/oslo.i18n/latest/user/index.html """ diff -Nru python-heatclient-1.14.0/heatclient/osc/plugin.py python-heatclient-1.17.0/heatclient/osc/plugin.py --- python-heatclient-1.14.0/heatclient/osc/plugin.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/osc/plugin.py 2019-01-15 01:35:54.000000000 +0000 @@ -41,13 +41,15 @@ if instance.session: kwargs.update({'session': instance.session, 'service_type': API_NAME}) + elif instance.auth_plugin_name == 'token_endpoint': + kwargs.update({'endpoint': instance.auth.url, + 'token': instance.auth.token}) else: endpoint = instance.get_endpoint_for_service_type( API_NAME, region_name=instance.region_name, interface=instance.interface, ) - kwargs.update({'endpoint': endpoint, 'auth_url': instance.auth.auth_url, 'username': instance.auth_ref.username, diff -Nru python-heatclient-1.14.0/heatclient/osc/v1/stack.py python-heatclient-1.17.0/heatclient/osc/v1/stack.py --- python-heatclient-1.14.0/heatclient/osc/v1/stack.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/osc/v1/stack.py 2019-01-15 01:35:54.000000000 +0000 @@ -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 @@ -59,9 +60,9 @@ action='append', help=_('Name of a resource to set a pre-create hook to. Resources ' 'in nested stacks can be set using slash as a separator: ' - 'nested_stack/another/my_resource. You can use wildcards ' - 'to match multiple stacks or resources: ' - 'nested_stack/an*/*_resource. This can be specified ' + '``nested_stack/another/my_resource``. You can use ' + 'wildcards to match multiple stacks or resources: ' + '``nested_stack/an*/*_resource``. This can be specified ' 'multiple times') ) parser.add_argument( @@ -210,9 +211,9 @@ '--pre-update', metavar='', action='append', help=_('Name of a resource to set a pre-update hook to. Resources ' 'in nested stacks can be set using slash as a separator: ' - 'nested_stack/another/my_resource. You can use wildcards ' - 'to match multiple stacks or resources: ' - 'nested_stack/an*/*_resource. This can be specified ' + '``nested_stack/another/my_resource``. You can use ' + 'wildcards to match multiple stacks or resources: ' + '``nested_stack/an*/*_resource``. This can be specified ' 'multiple times') ) parser.add_argument( @@ -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 } @@ -1217,6 +1220,7 @@ """Cancel current task for a stack. Supported tasks for cancellation: + * update * create """ @@ -1379,9 +1383,9 @@ nargs='+', help=_('Resource names with hooks to clear. Resources ' 'in nested stacks can be set using slash as a separator: ' - 'nested_stack/another/my_resource. You can use wildcards ' - 'to match multiple stacks or resources: ' - 'nested_stack/an*/*_resource') + '``nested_stack/another/my_resource``. You can use ' + 'wildcards to match multiple stacks or resources: ' + '``nested_stack/an*/*_resource``') ) return parser diff -Nru python-heatclient-1.14.0/heatclient/tests/functional/osc/v1/base.py python-heatclient-1.17.0/heatclient/tests/functional/osc/v1/base.py --- python-heatclient-1.14.0/heatclient/tests/functional/osc/v1/base.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/functional/osc/v1/base.py 2019-01-15 01:35:54.000000000 +0000 @@ -114,3 +114,8 @@ def _stack_snapshot_restore(self, id, snapshot_id): cmd = 'stack snapshot restore ' + id + ' ' + snapshot_id self.openstack(cmd) + + def _stack_show(self, stack_id): + cmd = 'stack show ' + stack_id + stack_raw = self.openstack(cmd) + return self.show_to_dict(stack_raw) diff -Nru python-heatclient-1.14.0/heatclient/tests/functional/osc/v1/test_stack.py python-heatclient-1.17.0/heatclient/tests/functional/osc/v1/test_stack.py --- python-heatclient-1.14.0/heatclient/tests/functional/osc/v1/test_stack.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/functional/osc/v1/test_stack.py 2019-01-15 01:35:54.000000000 +0000 @@ -75,3 +75,10 @@ stacks_raw = self.openstack( 'stack snapshot list' + ' ' + self.stack_name) self.assertNotIn(snapshot['id'], stacks_raw) + + def test_stack_show(self): + stack = self._stack_create_minimal() + stack_info = self._stack_show(stack['id']) + stack_props = {k: v for k, v in stack_info.items() + if k in stack.keys()} + self.assertEqual(stack, stack_props) diff -Nru python-heatclient-1.14.0/heatclient/tests/test_templates/adopt_with_file.json python-heatclient-1.17.0/heatclient/tests/test_templates/adopt_with_file.json --- python-heatclient-1.14.0/heatclient/tests/test_templates/adopt_with_file.json 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/test_templates/adopt_with_file.json 2019-01-15 01:35:54.000000000 +0000 @@ -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 -Nru python-heatclient-1.14.0/heatclient/tests/unit/osc/v1/test_stack.py python-heatclient-1.17.0/heatclient/tests/unit/osc/v1/test_stack.py --- python-heatclient-1.14.0/heatclient/tests/unit/osc/v1/test_stack.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/unit/osc/v1/test_stack.py 2019-01-15 01:35:54.000000000 +0000 @@ -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 -Nru python-heatclient-1.14.0/heatclient/tests/unit/test_shell.py python-heatclient-1.17.0/heatclient/tests/unit/test_shell.py --- python-heatclient-1.14.0/heatclient/tests/unit/test_shell.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/unit/test_shell.py 2019-01-15 01:35:54.000000000 +0000 @@ -774,7 +774,7 @@ ] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'parent') + self.assertNotRegex(list_text, 'parent') def test_stack_list_show_nested(self): self.register_keystone_auth_fixture() @@ -2918,7 +2918,7 @@ for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'p_eventid1') + self.assertNotRegex(list_text, 'p_eventid1') self.assertRegex(list_text, "%s.*\n.*%s.*\n.*%s.*" % timestamps[1:]) @@ -2942,8 +2942,8 @@ 'stack_name', 'teststack', 'nested'] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'p_eventid2') - self.assertNotRegexpMatches(list_text, 'n_eventid2') + self.assertNotRegex(list_text, 'p_eventid2') + self.assertNotRegex(list_text, 'n_eventid2') self.assertRegex(list_text, "%s.*\n.*%s.*\n" % timestamps[:2]) @@ -3121,9 +3121,9 @@ required = ['id', 'p_eventid2', 'stack_name', 'teststack', hook_reason] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'p_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid2') + self.assertNotRegex(list_text, 'p_eventid1') + self.assertNotRegex(list_text, 'n_eventid1') + self.assertNotRegex(list_text, 'n_eventid2') def test_hook_poll_pre_update(self): self.register_keystone_auth_fixture() @@ -3136,9 +3136,9 @@ required = ['id', 'p_eventid2', 'stack_name', 'teststack', hook_reason] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'p_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid2') + self.assertNotRegex(list_text, 'p_eventid1') + self.assertNotRegex(list_text, 'n_eventid1') + self.assertNotRegex(list_text, 'n_eventid2') def test_hook_poll_pre_delete(self): self.register_keystone_auth_fixture() @@ -3151,9 +3151,9 @@ required = ['id', 'p_eventid2', 'stack_name', 'teststack', hook_reason] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'p_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid1') - self.assertNotRegexpMatches(list_text, 'n_eventid2') + self.assertNotRegex(list_text, 'p_eventid1') + self.assertNotRegex(list_text, 'n_eventid1') + self.assertNotRegex(list_text, 'n_eventid2') def test_hook_poll_bad_status(self): self.register_keystone_auth_fixture() @@ -3887,13 +3887,13 @@ ] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'parent') + self.assertNotRegex(list_text, 'parent') list_text = self.shell('deployment-list -s 123') for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'parent') + self.assertNotRegex(list_text, 'parent') def test_deploy_show(self): self.register_keystone_auth_fixture() @@ -4227,7 +4227,7 @@ ] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'parent') + self.assertNotRegex(list_text, 'parent') class MockShellBase(TestCase): @@ -4308,7 +4308,7 @@ ] for r in required: self.assertRegex(list_text, r) - self.assertNotRegexpMatches(list_text, 'parent') + self.assertNotRegex(list_text, 'parent') if self.jreq_mock.call_args is None: self.assertEqual(1, self.session_jreq_mock.call_count) diff -Nru python-heatclient-1.14.0/heatclient/tests/unit/test_template_utils.py python-heatclient-1.17.0/heatclient/tests/unit/test_template_utils.py --- python-heatclient-1.14.0/heatclient/tests/unit/test_template_utils.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/unit/test_template_utils.py 2019-01-15 01:35:54.000000000 +0000 @@ -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 -Nru python-heatclient-1.14.0/heatclient/tests/unit/test_utils.py python-heatclient-1.17.0/heatclient/tests/unit/test_utils.py --- python-heatclient-1.14.0/heatclient/tests/unit/test_utils.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/tests/unit/test_utils.py 2019-01-15 01:35:54.000000000 +0000 @@ -415,8 +415,7 @@ tmpl_url) self.assertEqual(utils.get_template_url(None, tmpl_url), tmpl_url) - self.assertEqual(utils.get_template_url(None, None), - None) + self.assertIsNone(utils.get_template_url(None, None)) def test_base_url_for_url(self): self.assertEqual( diff -Nru python-heatclient-1.14.0/heatclient/v1/shell.py python-heatclient-1.17.0/heatclient/v1/shell.py --- python-heatclient-1.14.0/heatclient/v1/shell.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/v1/shell.py 2019-01-15 01:35:54.000000000 +0000 @@ -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 } @@ -633,7 +637,8 @@ 'keys.')) @utils.arg('-g', '--global-tenant', action='store_true', default=False, help=_('Display stacks from all tenants. Operation only authorized ' - 'for users who match the policy in heat\'s policy.json.')) + 'for users who match the policy (default or explicitly ' + 'configured in policy.json) in heat.')) @utils.arg('-o', '--show-owner', action='store_true', default=False, help=_('Display stack owner information. This is automatically ' 'enabled when using %(arg)s.') % {'arg': '--global-tenant'}) diff -Nru python-heatclient-1.14.0/heatclient/v1/stacks.py python-heatclient-1.17.0/heatclient/v1/stacks.py --- python-heatclient-1.14.0/heatclient/v1/stacks.py 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/heatclient/v1/stacks.py 2019-01-15 01:35:54.000000000 +0000 @@ -279,7 +279,7 @@ kwargs['params'] = {"resolve_outputs": False} resp = self.client.get('/stacks/%s' % stack_id, **kwargs) body = utils.get_response_body(resp) - return Stack(self, body.get('stack')) + return Stack(self, body.get('stack'), loaded=True) def template(self, stack_id): """Get template content for a specific stack as a parsed JSON object. diff -Nru python-heatclient-1.14.0/lower-constraints.txt python-heatclient-1.17.0/lower-constraints.txt --- python-heatclient-1.14.0/lower-constraints.txt 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/lower-constraints.txt 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,97 @@ +alabaster==0.7.10 +appdirs==1.3.0 +asn1crypto==0.23.0 +Babel==2.3.4 +cffi==1.7.0 +cliff==2.8.0 +cmd2==0.8.0 +coverage==4.0 +cryptography==2.1 +debtcollector==1.2.0 +decorator==3.4.0 +deprecation==1.0 +docutils==0.11 +dogpile.cache==0.6.2 +dulwich==0.15.0 +extras==1.0.0 +fasteners==0.7.0 +fixtures==3.0.0 +flake8==2.5.5 +future==0.16.0 +hacking==0.12.0 +idna==2.6 +imagesize==0.7.1 +iso8601==0.1.11 +Jinja2==2.10 +jmespath==0.9.0 +jsonpatch==1.16 +jsonpointer==1.13 +jsonschema==2.6.0 +keystoneauth1==3.4.0 +linecache2==1.0.0 +MarkupSafe==1.0 +mccabe==0.2.1 +mock==2.0.0 +monotonic==0.6 +mox3==0.20.0 +msgpack-python==0.4.0 +munch==2.1.0 +netaddr==0.7.18 +netifaces==0.10.4 +openstackdocstheme==1.18.1 +openstacksdk==0.11.2 +os-client-config==1.28.0 +os-service-types==1.2.0 +os-testr==1.0.0 +osc-lib==1.8.0 +oslo.concurrency==3.25.0 +oslo.config==5.2.0 +oslo.context==2.19.2 +oslo.i18n==3.15.3 +oslo.log==3.36.0 +oslo.serialization==2.18.0 +oslo.utils==3.33.0 +paramiko==2.0.0 +pbr==2.0.0 +pep8==1.5.7 +positional==1.2.1 +prettytable==0.7.2 +pyasn1==0.1.8 +pycparser==2.18 +pyflakes==0.8.1 +Pygments==2.2.0 +pyinotify==0.9.6 +pyOpenSSL==17.1.0 +pyparsing==2.1.0 +pyperclip==1.5.27 +python-cinderclient==3.3.0 +python-dateutil==2.5.3 +python-glanceclient==2.8.0 +python-keystoneclient==3.8.0 +python-mimeparse==1.6.0 +python-novaclient==9.1.0 +python-openstackclient==3.12.0 +python-subunit==1.0.0 +python-swiftclient==3.2.0 +pytz==2013.6 +PyYAML==3.12 +reno==2.5.0 +requests-mock==1.2.0 +requests==2.14.2 +requestsexceptions==1.2.0 +rfc3986==0.3.1 +simplejson==3.5.1 +six==1.10.0 +snowballstemmer==1.2.1 +Sphinx==1.6.2 +sphinxcontrib-websupport==1.0.1 +stestr==2.0.0 +stevedore==1.20.0 +tempest==17.1.0 +testscenarios==0.4 +testtools==2.2.0 +traceback2==1.4.0 +unittest2==1.1.0 +urllib3==1.21.1 +warlock==1.2.0 +wrapt==1.7.0 diff -Nru python-heatclient-1.14.0/PKG-INFO python-heatclient-1.17.0/PKG-INFO --- python-heatclient-1.14.0/PKG-INFO 2018-02-01 16:57:18.000000000 +0000 +++ python-heatclient-1.17.0/PKG-INFO 2019-01-15 01:39:01.000000000 +0000 @@ -1,18 +1,17 @@ Metadata-Version: 1.1 Name: python-heatclient -Version: 1.14.0 +Version: 1.17.0 Summary: OpenStack Orchestration API Client Library -Home-page: http://docs.openstack.org/developer/python-heatclient/ +Home-page: https://docs.openstack.org/python-heatclient/latest Author: OpenStack Author-email: openstack-dev@lists.openstack.org License: UNKNOWN -Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== - .. image:: http://governance.openstack.org/badges/python-heatclient.svg - :target: http://governance.openstack.org/reference/tags/index.html + .. image:: https://governance.openstack.org/tc/badges/python-heatclient.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -21,13 +20,9 @@ ================= .. 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 - .. image:: https://img.shields.io/pypi/dm/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ - :alt: Downloads - OpenStack Orchestration API Client Library @@ -46,18 +41,20 @@ * `Template`_ * `How to Contribute`_ - .. _PyPi: https://pypi.python.org/pypi/python-heatclient - .. _Online Documentation: http://docs.openstack.org/developer/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: http://docs.openstack.org/infra/manual/developers.html - .. _Specs: http://specs.openstack.org/openstack/heat-specs/ + .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html + .. _Specs: https://specs.openstack.org/openstack/heat-specs/ .. _Template: https://git.openstack.org/cgit/openstack/heat-templates/ Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console Classifier: Environment :: OpenStack Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: System Administrators diff -Nru python-heatclient-1.14.0/python_heatclient.egg-info/pbr.json python-heatclient-1.17.0/python_heatclient.egg-info/pbr.json --- python-heatclient-1.14.0/python_heatclient.egg-info/pbr.json 2018-02-01 16:57:17.000000000 +0000 +++ python-heatclient-1.17.0/python_heatclient.egg-info/pbr.json 2019-01-15 01:39:00.000000000 +0000 @@ -1 +1 @@ -{"git_version": "2ce6aa1", "is_release": true} \ No newline at end of file +{"git_version": "8af5deb", "is_release": true} \ No newline at end of file diff -Nru python-heatclient-1.14.0/python_heatclient.egg-info/PKG-INFO python-heatclient-1.17.0/python_heatclient.egg-info/PKG-INFO --- python-heatclient-1.14.0/python_heatclient.egg-info/PKG-INFO 2018-02-01 16:57:17.000000000 +0000 +++ python-heatclient-1.17.0/python_heatclient.egg-info/PKG-INFO 2019-01-15 01:39:00.000000000 +0000 @@ -1,18 +1,17 @@ Metadata-Version: 1.1 Name: python-heatclient -Version: 1.14.0 +Version: 1.17.0 Summary: OpenStack Orchestration API Client Library -Home-page: http://docs.openstack.org/developer/python-heatclient/ +Home-page: https://docs.openstack.org/python-heatclient/latest Author: OpenStack Author-email: openstack-dev@lists.openstack.org License: UNKNOWN -Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== - .. image:: http://governance.openstack.org/badges/python-heatclient.svg - :target: http://governance.openstack.org/reference/tags/index.html + .. image:: https://governance.openstack.org/tc/badges/python-heatclient.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -21,13 +20,9 @@ ================= .. 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 - .. image:: https://img.shields.io/pypi/dm/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ - :alt: Downloads - OpenStack Orchestration API Client Library @@ -46,18 +41,20 @@ * `Template`_ * `How to Contribute`_ - .. _PyPi: https://pypi.python.org/pypi/python-heatclient - .. _Online Documentation: http://docs.openstack.org/developer/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: http://docs.openstack.org/infra/manual/developers.html - .. _Specs: http://specs.openstack.org/openstack/heat-specs/ + .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html + .. _Specs: https://specs.openstack.org/openstack/heat-specs/ .. _Template: https://git.openstack.org/cgit/openstack/heat-templates/ Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console Classifier: Environment :: OpenStack Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: System Administrators diff -Nru python-heatclient-1.14.0/python_heatclient.egg-info/requires.txt python-heatclient-1.17.0/python_heatclient.egg-info/requires.txt --- python-heatclient-1.14.0/python_heatclient.egg-info/requires.txt 2018-02-01 16:57:17.000000000 +0000 +++ python-heatclient-1.17.0/python_heatclient.egg-info/requires.txt 2019-01-15 01:39:00.000000000 +0000 @@ -3,12 +3,12 @@ cliff!=2.9.0,>=2.8.0 iso8601>=0.1.11 osc-lib>=1.8.0 -PrettyTable<0.8,>=0.7.1 +PrettyTable<0.8,>=0.7.2 oslo.i18n>=3.15.3 oslo.serialization!=2.19.1,>=2.18.0 oslo.utils>=3.33.0 -keystoneauth1>=3.3.0 +keystoneauth1>=3.4.0 python-swiftclient>=3.2.0 -PyYAML>=3.10 +PyYAML>=3.12 requests>=2.14.2 six>=1.10.0 diff -Nru python-heatclient-1.14.0/python_heatclient.egg-info/SOURCES.txt python-heatclient-1.17.0/python_heatclient.egg-info/SOURCES.txt --- python-heatclient-1.14.0/python_heatclient.egg-info/SOURCES.txt 2018-02-01 16:57:18.000000000 +0000 +++ python-heatclient-1.17.0/python_heatclient.egg-info/SOURCES.txt 2019-01-15 01:39:01.000000000 +0000 @@ -1,5 +1,5 @@ .coveragerc -.testr.conf +.stestr.conf .zuul.yaml AUTHORS CONTRIBUTING.rst @@ -7,6 +7,7 @@ LICENSE README.rst babel.cfg +lower-constraints.txt requirements.txt setup.cfg setup.py @@ -14,8 +15,14 @@ tox.ini doc/.gitignore doc/Makefile +doc/requirements.txt doc/source/conf.py doc/source/index.rst +doc/source/cli/index.rst +doc/source/cli/orchestration.rst +doc/source/cli/software_config.rst +doc/source/cli/software_deployment.rst +doc/source/cli/stack.rst doc/source/ext/gen_ref.py doc/source/man/heat.rst heatclient/__init__.py @@ -64,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 @@ -138,5 +146,7 @@ releasenotes/notes/bug-1643492-2d7537b55f347722.yaml 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 -Nru python-heatclient-1.14.0/README.rst python-heatclient-1.17.0/README.rst --- python-heatclient-1.14.0/README.rst 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/README.rst 2019-01-15 01:35:54.000000000 +0000 @@ -2,8 +2,8 @@ Team and repository tags ======================== -.. image:: http://governance.openstack.org/badges/python-heatclient.svg - :target: http://governance.openstack.org/reference/tags/index.html +.. image:: https://governance.openstack.org/tc/badges/python-heatclient.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -12,13 +12,9 @@ ================= .. 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 -.. image:: https://img.shields.io/pypi/dm/python-heatclient.svg - :target: https://pypi.python.org/pypi/python-heatclient/ - :alt: Downloads - OpenStack Orchestration API Client Library @@ -37,12 +33,12 @@ * `Template`_ * `How to Contribute`_ -.. _PyPi: https://pypi.python.org/pypi/python-heatclient -.. _Online Documentation: http://docs.openstack.org/developer/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: http://docs.openstack.org/infra/manual/developers.html -.. _Specs: http://specs.openstack.org/openstack/heat-specs/ +.. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html +.. _Specs: https://specs.openstack.org/openstack/heat-specs/ .. _Template: https://git.openstack.org/cgit/openstack/heat-templates/ diff -Nru python-heatclient-1.14.0/releasenotes/source/index.rst python-heatclient-1.17.0/releasenotes/source/index.rst --- python-heatclient-1.14.0/releasenotes/source/index.rst 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/releasenotes/source/index.rst 2019-01-15 01:35:54.000000000 +0000 @@ -7,4 +7,6 @@ :caption: Contents: unreleased + rocky + queens diff -Nru python-heatclient-1.14.0/releasenotes/source/queens.rst python-heatclient-1.17.0/releasenotes/source/queens.rst --- python-heatclient-1.14.0/releasenotes/source/queens.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/releasenotes/source/queens.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,6 @@ +=================================== + Queens Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/queens diff -Nru python-heatclient-1.14.0/releasenotes/source/rocky.rst python-heatclient-1.17.0/releasenotes/source/rocky.rst --- python-heatclient-1.14.0/releasenotes/source/rocky.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/releasenotes/source/rocky.rst 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,6 @@ +=================================== + Rocky Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/rocky diff -Nru python-heatclient-1.14.0/requirements.txt python-heatclient-1.17.0/requirements.txt --- python-heatclient-1.14.0/requirements.txt 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/requirements.txt 2019-01-15 01:35:54.000000000 +0000 @@ -7,12 +7,12 @@ cliff!=2.9.0,>=2.8.0 # Apache-2.0 iso8601>=0.1.11 # MIT osc-lib>=1.8.0 # Apache-2.0 -PrettyTable<0.8,>=0.7.1 # BSD +PrettyTable<0.8,>=0.7.2 # BSD oslo.i18n>=3.15.3 # Apache-2.0 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 oslo.utils>=3.33.0 # Apache-2.0 -keystoneauth1>=3.3.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 python-swiftclient>=3.2.0 # Apache-2.0 -PyYAML>=3.10 # MIT +PyYAML>=3.12 # MIT requests>=2.14.2 # Apache-2.0 six>=1.10.0 # MIT diff -Nru python-heatclient-1.14.0/setup.cfg python-heatclient-1.17.0/setup.cfg --- python-heatclient-1.14.0/setup.cfg 2018-02-01 16:57:18.000000000 +0000 +++ python-heatclient-1.17.0/setup.cfg 2019-01-15 01:39:01.000000000 +0000 @@ -6,8 +6,10 @@ README.rst author = OpenStack author-email = openstack-dev@lists.openstack.org -home-page = http://docs.openstack.org/developer/python-heatclient/ +home-page = https://docs.openstack.org/python-heatclient/latest classifier = + Development Status :: 5 - Production/Stable + Environment :: Console Environment :: OpenStack Intended Audience :: Information Technology Intended Audience :: System Administrators @@ -97,13 +99,6 @@ setup-hooks = pbr.hooks.setup_hook -[build_sphinx] -builders = html,man -all-files = 1 -warning-is-error = 1 -source-dir = doc/source -build-dir = doc/build - [upload_sphinx] upload-dir = doc/build/html diff -Nru python-heatclient-1.14.0/.stestr.conf python-heatclient-1.17.0/.stestr.conf --- python-heatclient-1.14.0/.stestr.conf 1970-01-01 00:00:00.000000000 +0000 +++ python-heatclient-1.17.0/.stestr.conf 2019-01-15 01:35:54.000000000 +0000 @@ -0,0 +1,3 @@ +[DEFAULT] +test_path=${OS_TEST_PATH:-./heatclient/tests/unit} +top_dir=./ diff -Nru python-heatclient-1.14.0/.testr.conf python-heatclient-1.17.0/.testr.conf --- python-heatclient-1.14.0/.testr.conf 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/.testr.conf 1970-01-01 00:00:00.000000000 +0000 @@ -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 -Nru python-heatclient-1.14.0/test-requirements.txt python-heatclient-1.17.0/test-requirements.txt --- python-heatclient-1.14.0/test-requirements.txt 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/test-requirements.txt 2019-01-15 01:35:54.000000000 +0000 @@ -6,14 +6,11 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD -requests-mock>=1.1.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 mock>=2.0.0 # BSD mox3>=0.20.0 # Apache-2.0 -openstackdocstheme>=1.18.1 # Apache-2.0 python-openstackclient>=3.12.0 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 -sphinx!=1.6.6,>=1.6.2 # BSD +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 -Nru python-heatclient-1.14.0/tox.ini python-heatclient-1.17.0/tox.ini --- python-heatclient-1.14.0/tox.ini 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/tox.ini 2019-01-15 01:35:54.000000000 +0000 @@ -1,6 +1,6 @@ [tox] envlist = pypy,py35,py27,pep8 -minversion = 1.6 +minversion = 2.0 skipsdist = True [testenv] @@ -13,25 +13,28 @@ -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] +basepython = python3 commands = oslo_debug_helper -t heatclient/tests {posargs} [testenv:debug-py27] basepython = python2.7 commands = oslo_debug_helper -t heatclient/tests {posargs} -[testenv:debug-py34] -basepython = python3.4 +[testenv:debug-py35] +basepython = python3.5 commands = oslo_debug_helper -t heatclient/tests {posargs} [testenv:pep8] +basepython = python3 commands = flake8 [testenv:venv] +basepython = python3 commands = {posargs} [testenv:functional] @@ -41,16 +44,26 @@ passenv = OS_* [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] -commands= - python setup.py build_sphinx +basepython = python3 +deps = + -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -r{toxinidir}/doc/requirements.txt +commands = sphinx-build -W -b html doc/source doc/build/html [flake8] show-source = True +enable-extensions = H203,H106 exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build max-complexity=20 @@ -58,4 +71,15 @@ import_exceptions = heatclient._i18n [testenv:releasenotes] +basepython = python3 +deps = + -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html + +[testenv:lower-constraints] +basepython = python3 +deps = + -c{toxinidir}/lower-constraints.txt + -r{toxinidir}/test-requirements.txt + -r{toxinidir}/requirements.txt diff -Nru python-heatclient-1.14.0/.zuul.yaml python-heatclient-1.17.0/.zuul.yaml --- python-heatclient-1.14.0/.zuul.yaml 2018-02-01 16:54:04.000000000 +0000 +++ python-heatclient-1.17.0/.zuul.yaml 2019-01-15 01:35:54.000000000 +0000 @@ -9,10 +9,19 @@ - openstack/heat - openstack/python-heatclient vars: - branch_override: "default" + branch_override: default - project: - name: openstack/python-heatclient + 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