Hello community, here is the log from the commit of package python-novaclient for openSUSE:Factory checked in at 2020-10-26 16:15:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-novaclient (Old) and /work/SRC/openSUSE:Factory/.python-novaclient.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-novaclient" Mon Oct 26 16:15:59 2020 rev:36 rq:841194 version:17.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-novaclient/python-novaclient.changes 2020-06-05 20:14:53.610688845 +0200 +++ /work/SRC/openSUSE:Factory/.python-novaclient.new.3463/python-novaclient.changes 2020-10-26 16:16:44.814956051 +0100 @@ -1,0 +2,25 @@ +Fri Oct 9 19:15:51 UTC 2020 - cloud-de...@suse.de + +- update to version 17.2.1 + - [Community goal] Update contributor documentation + - Bump default tox env from py37 to py38 + - Use unittest.mock instead of third party mock + - Switch to newer openstackdocstheme and reno versions + - Switch legacy Zuul jobs to native Zuul v3 jobs + - use stevedore to load extensions + - Bump hacking min version to 3.0.1 + - Add Python3 victoria unit tests + - Remove mock in lower-constraints.txt + - Remove Babel requirement + - Add link to PDF document + - Remove unused code + - Remove future imports + - doc: Update Testing document + - Add a cleanup for a server in a functional test + - zuul functional job: drop the custom playbooks + - Update master for stable/ussuri + - Add py38 package metadata + - Switch to using TOX_CONSTRAINTS_FILE + - migrate testing to ubuntu focal + +------------------------------------------------------------------- Old: ---- python-novaclient-17.0.0.tar.gz New: ---- python-novaclient-17.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-novaclient.spec ++++++ --- /var/tmp/diff_new_pack.m0fc5E/_old 2020-10-26 16:16:45.442956557 +0100 +++ /var/tmp/diff_new_pack.m0fc5E/_new 2020-10-26 16:16:45.446956559 +0100 @@ -17,12 +17,12 @@ Name: python-novaclient -Version: 17.0.0 +Version: 17.2.1 Release: 0 Summary: Python API and CLI for OpenStack Nova License: Apache-2.0 Group: Development/Languages/Python -Source0: https://files.pythonhosted.org/packages/source/p/python-novaclient/python-novaclient-17.0.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/p/python-novaclient/python-novaclient-17.2.1.tar.gz BuildRequires: openssl BuildRequires: openstack-macros BuildRequires: python3-cinderclient @@ -35,7 +35,6 @@ BuildRequires: python3-osprofiler BuildRequires: python3-pbr >= 2.0.0 BuildRequires: python3-requests-mock -BuildRequires: python3-setuptools BuildRequires: python3-stestr BuildRequires: python3-testscenarios BuildRequires: python3-testtools @@ -50,7 +49,7 @@ Summary: Python API and CLI for OpenStack Nova Group: Development/Languages/Python Requires: openssl -Requires: python3-Babel >= 2.3.4 +Requires: python3-Babel Requires: python3-PrettyTable >= 0.7.2 Requires: python3-iso8601 >= 0.1.11 Requires: python3-keystoneauth1 >= 3.5.0 @@ -91,7 +90,7 @@ %build %{py3_build} -PBR_VERSION=17.0.0 %sphinx_build -b html -d doc/build/doctrees doc/source doc/build/html +PBR_VERSION=17.2.1 %sphinx_build -b html -d doc/build/doctrees doc/source doc/build/html # Fix hidden-file-or-dir warnings rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo ++++++ _service ++++++ --- /var/tmp/diff_new_pack.m0fc5E/_old 2020-10-26 16:16:45.478956585 +0100 +++ /var/tmp/diff_new_pack.m0fc5E/_new 2020-10-26 16:16:45.478956585 +0100 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/python-novaclient/python-novaclient.spec.j2</param> + <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/python-novaclient/python-novaclient.spec.j2</param> <param name="output-name">python-novaclient.spec</param> - <param name="requirements">https://opendev.org/openstack/python-novaclient/raw/branch/stable/ussuri/requirements.txt</param> + <param name="requirements">https://opendev.org/openstack/python-novaclient/raw/branch/stable/victoria/requirements.txt</param> <param name="changelog-email">cloud-de...@suse.de</param> <param name="changelog-provider">gh,openstack,python-novaclient</param> </service> ++++++ python-novaclient-17.0.0.tar.gz -> python-novaclient-17.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/.zuul.yaml new/python-novaclient-17.2.1/.zuul.yaml --- old/python-novaclient-17.0.0/.zuul.yaml 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/.zuul.yaml 2020-09-10 11:55:42.000000000 +0200 @@ -1,14 +1,14 @@ - job: - # TODO(efried): Cut over to zuulv3 - name: novaclient-dsvm-functional - parent: legacy-dsvm-base - run: playbooks/legacy/novaclient-dsvm-functional/run.yaml - post-run: playbooks/legacy/novaclient-dsvm-functional/post.yaml + name: python-novaclient-functional + parent: devstack-tox-functional timeout: 7200 required-projects: - - openstack/devstack-gate - openstack/nova - openstack/python-novaclient + vars: + openrc_enable_export: true + devstack_localrc: + USE_PYTHON3: true irrelevant-files: - ^.*\.rst$ - ^doc/.*$ @@ -20,12 +20,12 @@ - lib-forward-testing-python3 - openstack-cover-jobs - openstack-lower-constraints-jobs - - openstack-python3-ussuri-jobs + - openstack-python3-victoria-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 check: jobs: - - novaclient-dsvm-functional + - python-novaclient-functional gate: jobs: - - novaclient-dsvm-functional + - python-novaclient-functional diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/AUTHORS new/python-novaclient-17.2.1/AUTHORS --- old/python-novaclient-17.0.0/AUTHORS 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/AUTHORS 2020-09-10 11:57:43.000000000 +0200 @@ -230,6 +230,7 @@ LiuNanke <nanke....@easystack.cn> Lorin Hochstein <lo...@isi.edu> Lorin Hochstein <lo...@nimbisservices.com> +Luigi Toscano <ltosc...@redhat.com> Luong Anh Tuan <tua...@vn.fujitsu.com> Lvov Maxim <ml...@mirantis.com> M. David Bennett <mdavidbenn...@syntheticworks.com> @@ -330,6 +331,7 @@ Sean Dague <sean.da...@samsung.com> Sean Dague <s...@dague.net> Sean McCully <sean.mccu...@rackspace.com> +Sean McGinnis <sean.mcgin...@gmail.com> Sen Yang <sen.y...@windriver.com> Sergey Lukjanov <slukja...@mirantis.com> Sergey Nikitin <sniki...@mirantis.com> @@ -474,6 +476,7 @@ ozg <ozg@ozg-GREATWALL-PC.(none)> pengyuesheng <pengyuesh...@gohighsec.com> qingszhao <zhao.daq...@99cloud.net> +qiufossen <qiujunt...@inspur.com> rahulram <rahur...@cisco.com> raiesmh08 <raiesm...@gmail.com> rajiv.kumar <rajiv.ku...@nectechnologies.in> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/CONTRIBUTING.rst new/python-novaclient-17.2.1/CONTRIBUTING.rst --- old/python-novaclient-17.0.0/CONTRIBUTING.rst 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/CONTRIBUTING.rst 2020-09-10 11:55:42.000000000 +0200 @@ -1,16 +1,19 @@ -If you would like to contribute to the development of OpenStack, -you must follow the steps documented at: +The source repository for this project can be found at: - https://docs.openstack.org/infra/manual/developers.html#development-workflow + https://opendev.org/openstack/python-novaclient -Once those steps have been completed, changes to OpenStack -should be submitted for review via the Gerrit tool, following -the workflow documented at: +Pull requests submitted through GitHub are not monitored. - https://docs.openstack.org/infra/manual/developers.html#development-workflow +To start contributing to OpenStack, follow the steps in the contribution guide +to set up and use Gerrit: -Pull requests submitted through GitHub will be ignored. + https://docs.openstack.org/contributors/code-and-documentation/quick-start.html -Bugs should be filed on Launchpad, not GitHub: +Bugs should be filed on Launchpad: https://bugs.launchpad.net/python-novaclient + +For more specific information about contributing to this repository, see the +python-novaclient contributor guide: + + https://docs.openstack.org/python-novaclient/latest/contributor/contributing.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/ChangeLog new/python-novaclient-17.2.1/ChangeLog --- old/python-novaclient-17.0.0/ChangeLog 2020-04-11 12:55:17.000000000 +0200 +++ new/python-novaclient-17.2.1/ChangeLog 2020-09-10 11:57:43.000000000 +0200 @@ -1,6 +1,38 @@ CHANGES ======= +17.2.1 +------ + +* zuul functional job: drop the custom playbooks +* Remove unused code +* Add a cleanup for a server in a functional test + +17.2.0 +------ + +* migrate testing to ubuntu focal +* Switch legacy Zuul jobs to native Zuul v3 jobs +* use stevedore to load extensions + +17.1.0 +------ + +* Remove Babel requirement +* Add link to PDF document +* Switch to newer openstackdocstheme and reno versions +* Bump hacking min version to 3.0.1 +* Remove mock in lower-constraints.txt +* Use unittest.mock instead of third party mock +* Remove future imports +* doc: Update Testing document +* Bump default tox env from py37 to py38 +* Switch to using TOX\_CONSTRAINTS\_FILE +* Add py38 package metadata +* [Community goal] Update contributor documentation +* Add Python3 victoria unit tests +* Update master for stable/ussuri + 17.0.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/PKG-INFO new/python-novaclient-17.2.1/PKG-INFO --- old/python-novaclient-17.0.0/PKG-INFO 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/PKG-INFO 2020-09-10 11:57:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: python-novaclient -Version: 17.0.0 +Version: 17.2.1 Summary: Client library for OpenStack Compute API Home-page: https://docs.openstack.org/python-novaclient/latest Author: OpenStack @@ -61,6 +61,7 @@ Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/babel.cfg new/python-novaclient-17.2.1/babel.cfg --- old/python-novaclient-17.0.0/babel.cfg 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/babel.cfg 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -[python: **.py] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/bindep.txt new/python-novaclient-17.2.1/bindep.txt --- old/python-novaclient-17.0.0/bindep.txt 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/bindep.txt 2020-09-10 11:55:42.000000000 +0200 @@ -10,7 +10,7 @@ libdbus-glib-1-dev [platform:dpkg] libffi-dev [platform:dpkg] libffi-devel [platform:rpm] -libssl-dev [platform:ubuntu-xenial] +libssl-dev [platform:ubuntu] libuuid-devel [platform:rpm] locales [platform:debian] python-dev [platform:dpkg] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/doc/requirements.txt new/python-novaclient-17.2.1/doc/requirements.txt --- old/python-novaclient-17.0.0/doc/requirements.txt 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/doc/requirements.txt 2020-09-10 11:55:42.000000000 +0200 @@ -1,10 +1,9 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD -sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD -openstackdocstheme>=1.30.0 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 +sphinx>=2.0.0,!=2.1.0 # BSD +openstackdocstheme>=2.2.0 # Apache-2.0 +reno>=3.1.0 # Apache-2.0 sphinxcontrib-apidoc>=0.2.0 # BSD # redirect tests in docs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/doc/source/conf.py new/python-novaclient-17.2.1/doc/source/conf.py --- old/python-novaclient-17.0.0/doc/source/conf.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/doc/source/conf.py 2020-09-10 11:55:42.000000000 +0200 @@ -36,10 +36,6 @@ # The master toctree document. master_doc = 'index' -# openstackdocstheme options -repository_name = 'openstack/python-novaclient' -bug_project = 'python-novaclient' -bug_tag = 'doc' copyright = 'OpenStack Contributors' @@ -70,10 +66,11 @@ # -- Options for openstackdocstheme ------------------------------------------- -repository_name = 'openstack/python-novaclient' -bug_project = 'python-novaclient' -bug_tag = '' -openstack_projects = [ +openstackdocs_repo_name = 'openstack/python-novaclient' +openstackdocs_bug_project = 'python-novaclient' +openstackdocs_bug_tag = '' +openstackdocs_pdf_link = True +openstackdocs_projects = [ 'keystoneauth', 'nova', 'os-client-config', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/doc/source/contributor/contributing.rst new/python-novaclient-17.2.1/doc/source/contributor/contributing.rst --- old/python-novaclient-17.0.0/doc/source/contributor/contributing.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/python-novaclient-17.2.1/doc/source/contributor/contributing.rst 2020-09-10 11:55:42.000000000 +0200 @@ -0,0 +1,52 @@ +============================ +So You Want to Contribute... +============================ + +For general information on contributing to OpenStack, please check out the +`contributor guide <https://docs.openstack.org/contributors/>`_ to get started. +It covers all the basics that are common to all OpenStack projects: the accounts +you need, the basics of interacting with our Gerrit review system, how we +communicate as a community, etc. + +Below will cover the more project specific information you need to get started +with python-novaclient. + +Communication +~~~~~~~~~~~~~ + +Please refer `how-to-get-involved <https://docs.openstack.org/nova/latest/contributor/how-to-get-involved.html>`_. + +Contacting the Core Team +~~~~~~~~~~~~~~~~~~~~~~~~ + +The overall structure of the Nova team including python-novaclient is +documented on `the wiki <https://wiki.openstack.org/wiki/Nova#People>`_. + +New Feature Planning +~~~~~~~~~~~~~~~~~~~~ + +If you want to propose a new feature please read the +`blueprints <https://docs.openstack.org/nova/latest/contributor/blueprints.html>`_ page. + +Task Tracking +~~~~~~~~~~~~~ + +We track our tasks in `Launchpad <https://bugs.launchpad.net/python-novaclient>`__. + +If you're looking for some smaller, easier work item to pick up and get started +on, search for the 'low-hanging-fruit' tag. + +Reporting a Bug +~~~~~~~~~~~~~~~ + +You found an issue and want to make sure we are aware of it? You can do so on +`Launchpad <https://bugs.launchpad.net/python-novaclient/+filebug>`__. +More info about Launchpad usage can be found on `OpenStack docs page +<https://docs.openstack.org/contributors/common/task-tracking.html#launchpad>`_. + +Getting Your Patch Merged +~~~~~~~~~~~~~~~~~~~~~~~~~ + +All changes proposed to the python-novaclient requires two ``Code-Review +2`` +votes from python-novaclient core reviewers before one of the core reviewers +can approve patch by giving ``Workflow +1`` vote.. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/doc/source/contributor/index.rst new/python-novaclient-17.2.1/doc/source/contributor/index.rst --- old/python-novaclient-17.0.0/doc/source/contributor/index.rst 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/doc/source/contributor/index.rst 2020-09-10 11:55:42.000000000 +0200 @@ -2,14 +2,16 @@ Contributor Guide =================== -Code is hosted at `opendev.org`__. Submit bugs to the python-novaclient -project on `Launchpad`__. Submit code to the `openstack/python-novaclient` -project using `Gerrit`__. +Basic Information +================= -__ https://opendev.org/openstack/python-novaclient -__ https://bugs.launchpad.net/python-novaclient -__ https://docs.openstack.org/infra/manual/developers.html#development-workflow +.. toctree:: + :maxdepth: 2 + + contributing +Developer Guide +=============== .. toctree:: :maxdepth: 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/doc/source/contributor/testing.rst new/python-novaclient-17.2.1/doc/source/contributor/testing.rst --- old/python-novaclient-17.0.0/doc/source/contributor/testing.rst 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/doc/source/contributor/testing.rst 2020-09-10 11:55:42.000000000 +0200 @@ -8,11 +8,11 @@ ``tox -e pep8`` Style guidelines enforcement. -``tox -e py37`` - Traditional unit testing (Python 3.7). +``tox -e py38`` + Traditional unit testing (Python 3.8). ``tox -e functional`` - Live functional testing against an existing OpenStack instance. (Python 3.7) + Live functional testing against an existing OpenStack instance. (Python 3.8) ``tox -e cover`` Generate a coverage report on unit testing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/lower-constraints.txt new/python-novaclient-17.2.1/lower-constraints.txt --- old/python-novaclient-17.0.0/lower-constraints.txt 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/lower-constraints.txt 2020-09-10 11:55:42.000000000 +0200 @@ -4,7 +4,7 @@ Babel==2.3.4 bandit==1.4.0 cachetools==2.0.0 -cffi==1.7.0 +cffi==1.14.0 cliff==2.8.0 cmd2==0.8.0 contextlib2==0.4.0 @@ -24,7 +24,7 @@ futurist==1.2.0 gitdb==0.6.4 GitPython==1.0.1 -greenlet==0.4.10 +greenlet==0.4.15 hacking==1.1.0 idna==2.6 iso8601==0.1.11 @@ -36,9 +36,8 @@ keystoneauth1==3.5.0 kombu==4.0.0 linecache2==1.0.0 -MarkupSafe==1.0 +MarkupSafe==1.1.1 mccabe==0.2.1 -mock==2.0.0 monotonic==0.6 msgpack-python==0.4.0 munch==2.1.0 @@ -83,7 +82,7 @@ python-neutronclient==6.7.0 python-subunit==1.0.0 pytz==2013.6 -PyYAML==3.12 +PyYAML==3.13 repoze.lru==0.7 requests==2.14.2 requests-mock==1.2.0 @@ -93,7 +92,7 @@ simplejson==3.5.1 smmap==0.9.0 statsd==3.2.1 -stevedore==1.20.0 +stevedore==2.0.1 tempest==17.1.0 tenacity==3.2.1 stestr==2.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/client.py new/python-novaclient-17.2.1/novaclient/client.py --- old/python-novaclient-17.0.0/novaclient/client.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/client.py 2020-09-10 11:55:42.000000000 +0200 @@ -28,7 +28,7 @@ from keystoneauth1 import identity from keystoneauth1 import session as ksession from oslo_utils import importutils -import pkg_resources +import stevedore import novaclient from novaclient import api_versions @@ -176,12 +176,15 @@ yield name, module -def _discover_via_entry_points(): - for ep in pkg_resources.iter_entry_points('novaclient.extension'): - name = ep.name - module = ep.load() +def _make_discovery_manager(): + # This function provides a place to mock out the entry point scan + return stevedore.ExtensionManager('novaclient.extension') + - yield name, module +def _discover_via_entry_points(): + mgr = _make_discovery_manager() + for extension in mgr: + yield extension.name, extension.plugin def _get_client_class_and_version(version): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/shell.py new/python-novaclient-17.2.1/novaclient/shell.py --- old/python-novaclient-17.0.0/novaclient/shell.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/shell.py 2020-09-10 11:55:42.000000000 +0200 @@ -18,7 +18,6 @@ Command-line interface to the OpenStack Nova API. """ -from __future__ import print_function import argparse import logging import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/functional/base.py new/python-novaclient-17.2.1/novaclient/tests/functional/base.py --- old/python-novaclient-17.0.0/novaclient/tests/functional/base.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/functional/base.py 2020-09-10 11:55:42.000000000 +0200 @@ -206,6 +206,8 @@ self.insecure = cloud_config.config['insecure'] else: self.insecure = False + self.cacert = cloud_config.config['cacert'] + self.cert = cloud_config.config['cert'] auth = identity.Password(username=user, password=passwd, @@ -213,7 +215,11 @@ auth_url=auth_url, project_domain_id=self.project_domain_id, user_domain_id=user_domain_id) - session = ksession.Session(auth=auth, verify=(not self.insecure)) + session = ksession.Session( + cert=self.cert, + auth=auth, + verify=(self.cacert or not self.insecure) + ) self.client = self._get_novaclient(session) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/functional/hooks/post_test_hook.sh new/python-novaclient-17.2.1/novaclient/tests/functional/hooks/post_test_hook.sh --- old/python-novaclient-17.0.0/novaclient/tests/functional/hooks/post_test_hook.sh 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/functional/hooks/post_test_hook.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -#!/bin/bash -xe - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# This script is executed inside post_test_hook function in devstack gate. - -function generate_testr_results { - if [ -f .testrepository/0 ]; then - sudo .tox/functional/bin/testr last --subunit > $WORKSPACE/testrepository.subunit - sudo mv $WORKSPACE/testrepository.subunit $BASE/logs/testrepository.subunit - sudo /usr/os-testr-env/bin/subunit2html $BASE/logs/testrepository.subunit $BASE/logs/testr_results.html - sudo gzip -9 $BASE/logs/testrepository.subunit - sudo gzip -9 $BASE/logs/testr_results.html - sudo chown $USER:$USER $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz - sudo chmod a+r $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz - fi -} - -export NOVACLIENT_DIR="$BASE/new/python-novaclient" - -sudo chown -R $USER:stack $NOVACLIENT_DIR - -# Go to the novaclient dir -cd $NOVACLIENT_DIR - -# Run tests -echo "Running novaclient functional test suite" -set +e -# Preserve env for OS_ credentials -sudo -E -H -u $USER tox -e ${TOX_ENV:-functional} -EXIT_CODE=$? -set -e - -# Collect and parse result -generate_testr_results -exit $EXIT_CODE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/functional/test_auth.py new/python-novaclient-17.2.1/novaclient/tests/functional/test_auth.py --- old/python-novaclient-17.0.0/novaclient/tests/functional/test_auth.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/functional/test_auth.py 2020-09-10 11:55:42.000000000 +0200 @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import os from urllib import parse import tempest.lib.cli.base @@ -28,14 +29,19 @@ url.fragment)) def nova_auth_with_password(self, action, identity_api_version): - flags = ('--os-username %s --os-tenant-name %s --os-password %s ' - '--os-auth-url %s --os-endpoint-type publicURL' % ( - self.cli_clients.username, - self.cli_clients.tenant_name, - self.cli_clients.password, - self._get_url(identity_api_version))) + flags = ( + f'--os-username {self.cli_clients.username} ' + f'--os-tenant-name {self.cli_clients.tenant_name} ' + f'--os-password {self.cli_clients.password} ' + f'--os-auth-url {self._get_url(identity_api_version)} ' + f'--os-endpoint-type publicURL' + ) + if self.cacert: + flags = f'{flags} --os-cacert {self.cacert}' + if self.cert: + flags = f'{flags} --os-cert {self.cert}' if self.cli_clients.insecure: - flags += ' --insecure ' + flags = f'{flags} --insecure' return tempest.lib.cli.base.execute( "nova", action, flags, cli_dir=self.cli_clients.cli_dir) @@ -49,15 +55,37 @@ if identity_api_version == "3": kw["project_domain_id"] = self.project_domain_id nova = client.Client("2", auth_token=token, auth_url=auth_url, - project_name=self.project_name, **kw) + project_name=self.project_name, + cacert=self.cacert, cert=self.cert, + **kw) nova.servers.list() - flags = ('--os-tenant-name %(project_name)s --os-token %(token)s ' - '--os-auth-url %(auth_url)s --os-endpoint-type publicURL' - % {"project_name": self.project_name, - "token": token, "auth_url": auth_url}) + # NOTE(andreykurilin): tempest.lib.cli.base.execute doesn't allow to + # pass 'env' argument to subprocess.Popen for overriding the current + # process' environment. + # When one of OS_AUTH_TYPE or OS_AUTH_PLUGIN environment variables + # presents, keystoneauth1 can load the wrong auth plugin with wrong + # expected cli arguments. To avoid this case, we need to modify + # current environment. + # TODO(andreykurilin): tempest.lib.cli.base.execute is quite simple + # method that can be replaced by subprocess.check_output direct call + # with passing env argument to avoid modifying the current process + # environment. or we probably can propose a change to tempest. + os.environ.pop("OS_AUTH_TYPE", None) + os.environ.pop("OS_AUTH_PLUGIN", None) + + flags = ( + f'--os-tenant-name {self.project_name} ' + f'--os-token {token} ' + f'--os-auth-url {auth_url} ' + f'--os-endpoint-type publicURL' + ) + if self.cacert: + flags = f'{flags} --os-cacert {self.cacert}' + if self.cert: + flags = f'{flags} --os-cert {self.cert}' if self.cli_clients.insecure: - flags += ' --insecure ' + flags = f'{flags} --insecure' tempest.lib.cli.base.execute( "nova", "list", flags, cli_dir=self.cli_clients.cli_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/functional/v2/test_instance_action.py new/python-novaclient-17.2.1/novaclient/tests/functional/v2/test_instance_action.py --- old/python-novaclient-17.0.0/novaclient/tests/functional/v2/test_instance_action.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/functional/v2/test_instance_action.py 2020-09-10 11:55:42.000000000 +0200 @@ -136,6 +136,8 @@ server = self.another_nova('boot --flavor %s --image %s --poll %s' % (self.flavor.name, self.image.name, name)) server_id = self._get_value_from_the_table(server, 'id') + self.addCleanup(self.client.servers.delete, server_id) + output = self.nova("instance-action-list %s" % server_id) request_id = self._get_column_value_from_single_row_table( output, "Request_ID") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/fixture_data/servers.py new/python-novaclient-17.2.1/novaclient/tests/unit/fixture_data/servers.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/fixture_data/servers.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/fixture_data/servers.py 2020-09-10 11:55:42.000000000 +0200 @@ -271,28 +271,6 @@ status_code=204, headers=self.json_headers) - def post_os_volumes_boot(request, context): - body = request.json() - assert (set(body.keys()) <= - set(['server', 'os:scheduler_hints'])) - - fakes.assert_has_keys(body['server'], - required=['name', 'flavorRef'], - optional=['imageRef']) - - data = body['server'] - - # Require one, and only one, of the keys for bdm - if 'block_device_mapping' not in data: - if 'block_device_mapping_v2' not in data: - msg = "missing required keys: 'block_device_mapping'" - raise AssertionError(msg) - elif 'block_device_mapping_v2' in data: - msg = "found extra keys: 'block_device_mapping'" - raise AssertionError(msg) - - return {'server': self.server_9012} - # # Server password # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_api_versions.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_api_versions.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_api_versions.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_api_versions.py 2020-09-10 11:55:42.000000000 +0200 @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock import novaclient from novaclient import api_versions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_client.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_client.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_client.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_client.py 2020-09-10 11:55:42.000000000 +0200 @@ -14,9 +14,9 @@ # under the License. import copy +from unittest import mock from keystoneauth1 import session -import mock from oslo_utils import uuidutils import novaclient.api_versions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_crypto.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_crypto.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_crypto.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_crypto.py 2020-09-10 11:55:42.000000000 +0200 @@ -14,8 +14,7 @@ import base64 import subprocess - -import mock +from unittest import mock from novaclient import crypto from novaclient.tests.unit import utils diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_discover.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_discover.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_discover.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_discover.py 2020-09-10 11:55:42.000000000 +0200 @@ -15,9 +15,10 @@ import imp import inspect +from unittest import mock -import mock -import pkg_resources +import stevedore +from stevedore import extension from novaclient import client from novaclient.tests.unit import utils @@ -27,16 +28,20 @@ def test_discover_via_entry_points(self): - def mock_iter_entry_points(group): - if group == 'novaclient.extension': - fake_ep = mock.Mock() - fake_ep.name = 'foo' - fake_ep.module = imp.new_module('foo') - fake_ep.load.return_value = fake_ep.module - return [fake_ep] + def mock_mgr(): + fake_ep = mock.Mock() + fake_ep.name = 'foo' + fake_ep.module = imp.new_module('foo') + fake_ep.load.return_value = fake_ep.module + fake_ext = extension.Extension( + name='foo', + entry_point=fake_ep, + plugin=fake_ep.module, + obj=None, + ) + return stevedore.ExtensionManager.make_test_instance([fake_ext]) - @mock.patch.object(pkg_resources, 'iter_entry_points', - mock_iter_entry_points) + @mock.patch.object(client, '_make_discovery_manager', mock_mgr) def test(): for name, module in client._discover_via_entry_points(): self.assertEqual('foo', name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_shell.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_shell.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_shell.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_shell.py 2020-09-10 11:55:42.000000000 +0200 @@ -16,11 +16,11 @@ import io import re import sys +from unittest import mock import ddt import fixtures from keystoneauth1 import fixture -import mock import prettytable import requests_mock from testtools import matchers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/test_utils.py new/python-novaclient-17.2.1/novaclient/tests/unit/test_utils.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/test_utils.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/test_utils.py 2020-09-10 11:55:42.000000000 +0200 @@ -13,10 +13,9 @@ import io import sys +from unittest import mock from urllib import parse -import mock - from novaclient import base from novaclient import exceptions from novaclient.tests.unit import fakes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/utils.py new/python-novaclient-17.2.1/novaclient/tests/unit/utils.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/utils.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/utils.py 2020-09-10 11:55:42.000000000 +0200 @@ -12,9 +12,9 @@ # under the License. import os +from unittest import mock import fixtures -import mock from oslo_serialization import jsonutils import requests from requests_mock.contrib import fixture as requests_mock_fixture diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/fakes.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/fakes.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/fakes.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/fakes.py 2020-09-10 11:55:42.000000000 +0200 @@ -17,9 +17,9 @@ import copy import datetime import re +from unittest import mock from urllib import parse -import mock from oslo_utils import strutils import novaclient @@ -593,24 +593,6 @@ else: return (202, {}, self.get_servers_1234()[2]) - def post_os_volumes_boot(self, body, **kw): - assert set(body.keys()) <= set(['server', 'os:scheduler_hints']) - fakes.assert_has_keys( - body['server'], - required=['name', 'flavorRef'], - optional=['imageRef']) - - # Require one, and only one, of the keys for bdm - if 'block_device_mapping' not in body['server']: - if 'block_device_mapping_v2' not in body['server']: - raise AssertionError( - "missing required keys: 'block_device_mapping'" - ) - elif 'block_device_mapping_v2' in body['server']: - raise AssertionError("found extra keys: 'block_device_mapping'") - - return (202, {}, self.get_servers_9012()[2]) - def get_servers_1234(self, **kw): server = self.get_servers_detail()[2]['servers'][0] if self.api_version >= api_versions.APIVersion('2.71'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_flavors.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_flavors.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_flavors.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_flavors.py 2020-09-10 11:55:42.000000000 +0200 @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock from novaclient import api_versions from novaclient import base diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_images.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_images.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_images.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_images.py 2020-09-10 11:55:42.000000000 +0200 @@ -11,7 +11,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock from novaclient.tests.unit.fixture_data import client from novaclient.tests.unit.fixture_data import images as data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_servers.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_servers.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_servers.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_servers.py 2020-09-10 11:55:42.000000000 +0200 @@ -16,8 +16,7 @@ import io import os import tempfile - -import mock +from unittest import mock from novaclient import api_versions from novaclient import exceptions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_shell.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_shell.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_shell.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_shell.py 2020-09-10 11:55:42.000000000 +0200 @@ -23,9 +23,9 @@ import datetime import io import os +from unittest import mock import fixtures -import mock from oslo_utils import timeutils import testtools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_versions.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_versions.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_versions.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_versions.py 2020-09-10 11:55:42.000000000 +0200 @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock from novaclient import api_versions from novaclient import exceptions as exc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_volumes.py new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_volumes.py --- old/python-novaclient-17.0.0/novaclient/tests/unit/v2/test_volumes.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/tests/unit/v2/test_volumes.py 2020-09-10 11:55:42.000000000 +0200 @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +from unittest import mock from novaclient import api_versions from novaclient.tests.unit import utils diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/novaclient/v2/shell.py new/python-novaclient-17.2.1/novaclient/v2/shell.py --- old/python-novaclient-17.0.0/novaclient/v2/shell.py 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/novaclient/v2/shell.py 2020-09-10 11:55:42.000000000 +0200 @@ -16,8 +16,6 @@ # License for the specific language governing permissions and limitations # under the License. -from __future__ import print_function - import argparse import collections import datetime diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/playbooks/legacy/novaclient-dsvm-functional/post.yaml new/python-novaclient-17.2.1/playbooks/legacy/novaclient-dsvm-functional/post.yaml --- old/python-novaclient-17.0.0/playbooks/legacy/novaclient-dsvm-functional/post.yaml 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/playbooks/legacy/novaclient-dsvm-functional/post.yaml 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=**/*nose_results.html - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=**/*testr_results.html.gz - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/.testrepository/tmp* - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=**/*testrepository.subunit.gz - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}/tox' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/.tox/*/log/* - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/playbooks/legacy/novaclient-dsvm-functional/run.yaml new/python-novaclient-17.2.1/playbooks/legacy/novaclient-dsvm-functional/run.yaml --- old/python-novaclient-17.0.0/playbooks/legacy/novaclient-dsvm-functional/run.yaml 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/playbooks/legacy/novaclient-dsvm-functional/run.yaml 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -- hosts: all - name: novaclient-dsvm-functional job with identity v3 and neutron - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat > clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - export DEVSTACK_GATE_USE_PYTHON3=true - export PYTHONUNBUFFERED=true - export BRANCH_OVERRIDE=default - export DEVSTACK_PROJECT_FROM_GIT=python-novaclient - if [ "$BRANCH_OVERRIDE" != "default" ] ; then - export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE - fi - # This ensures that if we set override branch to something - # else, we still take python-novaclient from the zuul branch - # name. So override branch can be 'stable/mitaka' but we can - # test master changes. - uc_project=`echo $DEVSTACK_PROJECT_FROM_GIT | tr [:lower:] [:upper:] | tr '-' '_' | sed 's/[^A-Z_]//'` - export "OVERRIDE_"$uc_project"_PROJECT_BRANCH"=$ZUUL_BRANCH - - function post_test_hook { - # Configure and run functional tests - $BASE/new/python-novaclient/novaclient/tests/functional/hooks/post_test_hook.sh - } - export -f post_test_hook - - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/python_novaclient.egg-info/PKG-INFO new/python-novaclient-17.2.1/python_novaclient.egg-info/PKG-INFO --- old/python-novaclient-17.0.0/python_novaclient.egg-info/PKG-INFO 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/python_novaclient.egg-info/PKG-INFO 2020-09-10 11:57:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: python-novaclient -Version: 17.0.0 +Version: 17.2.1 Summary: Client library for OpenStack Compute API Home-page: https://docs.openstack.org/python-novaclient/latest Author: OpenStack @@ -61,6 +61,7 @@ Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/python_novaclient.egg-info/SOURCES.txt new/python-novaclient-17.2.1/python_novaclient.egg-info/SOURCES.txt --- old/python-novaclient-17.0.0/python_novaclient.egg-info/SOURCES.txt 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/python_novaclient.egg-info/SOURCES.txt 2020-09-10 11:57:43.000000000 +0200 @@ -8,7 +8,6 @@ HACKING.rst LICENSE README.rst -babel.cfg bindep.txt lower-constraints.txt requirements.txt @@ -22,6 +21,7 @@ doc/source/_extra/.htaccess doc/source/cli/index.rst doc/source/cli/nova.rst +doc/source/contributor/contributing.rst doc/source/contributor/deprecation-policy.rst doc/source/contributor/index.rst doc/source/contributor/microversions.rst @@ -50,7 +50,6 @@ novaclient/tests/functional/api/__init__.py novaclient/tests/functional/api/test_servers.py novaclient/tests/functional/hooks/check_resources.py -novaclient/tests/functional/hooks/post_test_hook.sh novaclient/tests/functional/v2/__init__.py novaclient/tests/functional/v2/fake_crypto.py novaclient/tests/functional/v2/test_aggregates.py @@ -171,8 +170,6 @@ novaclient/v2/usage.py novaclient/v2/versions.py novaclient/v2/volumes.py -playbooks/legacy/novaclient-dsvm-functional/post.yaml -playbooks/legacy/novaclient-dsvm-functional/run.yaml python_novaclient.egg-info/PKG-INFO python_novaclient.egg-info/SOURCES.txt python_novaclient.egg-info/dependency_links.txt @@ -312,6 +309,7 @@ releasenotes/source/stein.rst releasenotes/source/train.rst releasenotes/source/unreleased.rst +releasenotes/source/ussuri.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/python_novaclient.egg-info/pbr.json new/python-novaclient-17.2.1/python_novaclient.egg-info/pbr.json --- old/python-novaclient-17.0.0/python_novaclient.egg-info/pbr.json 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/python_novaclient.egg-info/pbr.json 2020-09-10 11:57:43.000000000 +0200 @@ -1 +1 @@ -{"git_version": "3ef5b695", "is_release": true} \ No newline at end of file +{"git_version": "553257d1", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/python_novaclient.egg-info/requires.txt new/python-novaclient-17.2.1/python_novaclient.egg-info/requires.txt --- old/python-novaclient-17.0.0/python_novaclient.egg-info/requires.txt 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/python_novaclient.egg-info/requires.txt 2020-09-10 11:57:43.000000000 +0200 @@ -1,9 +1,9 @@ -pbr!=2.1.0,>=2.0.0 -keystoneauth1>=3.5.0 +PrettyTable<0.8,>=0.7.2 iso8601>=0.1.11 +keystoneauth1>=3.5.0 oslo.i18n>=3.15.3 oslo.serialization!=2.19.1,>=2.18.0 oslo.utils>=3.33.0 -PrettyTable<0.8,>=0.7.2 +pbr!=2.1.0,>=2.0.0 simplejson>=3.5.1 -Babel!=2.4.0,>=2.3.4 +stevedore>=2.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/releasenotes/source/index.rst new/python-novaclient-17.2.1/releasenotes/source/index.rst --- old/python-novaclient-17.0.0/releasenotes/source/index.rst 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/releasenotes/source/index.rst 2020-09-10 11:55:42.000000000 +0200 @@ -8,6 +8,7 @@ :maxdepth: 2 unreleased + ussuri train stein rocky diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/releasenotes/source/ussuri.rst new/python-novaclient-17.2.1/releasenotes/source/ussuri.rst --- old/python-novaclient-17.0.0/releasenotes/source/ussuri.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/python-novaclient-17.2.1/releasenotes/source/ussuri.rst 2020-09-10 11:55:42.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +Ussuri Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/ussuri diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/requirements.txt new/python-novaclient-17.2.1/requirements.txt --- old/python-novaclient-17.0.0/requirements.txt 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/requirements.txt 2020-09-10 11:55:42.000000000 +0200 @@ -9,4 +9,4 @@ oslo.utils>=3.33.0 # Apache-2.0 PrettyTable<0.8,>=0.7.2 # BSD simplejson>=3.5.1 # MIT -Babel!=2.4.0,>=2.3.4 # BSD +stevedore>=2.0.1 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/setup.cfg new/python-novaclient-17.2.1/setup.cfg --- old/python-novaclient-17.0.0/setup.cfg 2020-04-11 12:55:18.000000000 +0200 +++ new/python-novaclient-17.2.1/setup.cfg 2020-09-10 11:57:43.000000000 +0200 @@ -20,6 +20,7 @@ Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython @@ -31,20 +32,6 @@ console_scripts = nova = novaclient.shell:main -[compile_catalog] -domain = novaclient -directory = novaclient/locale - -[update_catalog] -domain = novaclient -output_dir = novaclient/locale -input_file = novaclient/locale/novaclient.pot - -[extract_messages] -keywords = _ gettext ngettext l_ lazy_gettext -mapping_file = babel.cfg -output_file = novaclient/locale/novaclient.pot - [egg_info] tag_build = tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/test-requirements.txt new/python-novaclient-17.2.1/test-requirements.txt --- old/python-novaclient-17.0.0/test-requirements.txt 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/test-requirements.txt 2020-09-10 11:55:42.000000000 +0200 @@ -1,13 +1,12 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -hacking>=3.0,<3.1.0 # Apache-2.0 +hacking>=3.0.1,<3.1.0 # Apache-2.0 bandit>=1.1.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 ddt>=1.0.1 # MIT fixtures>=3.0.0 # Apache-2.0/BSD -mock>=2.0.0 # BSD python-keystoneclient>=3.8.0 # Apache-2.0 python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0 python-glanceclient>=2.8.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-novaclient-17.0.0/tox.ini new/python-novaclient-17.2.1/tox.ini --- old/python-novaclient-17.0.0/tox.ini 2020-04-11 12:54:14.000000000 +0200 +++ new/python-novaclient-17.2.1/tox.ini 2020-09-10 11:55:42.000000000 +0200 @@ -1,5 +1,5 @@ [tox] -envlist = py37,pep8,docs +envlist = py38,pep8,docs minversion = 3.1 skipsdist = true ignore_basepython_conflict = true @@ -16,7 +16,7 @@ ZUUL_CACHE_DIR REQUIREMENTS_PIP_LOCATION deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt commands = @@ -31,7 +31,7 @@ [testenv:venv] deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt @@ -39,7 +39,7 @@ [testenv:docs] deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt commands = @@ -58,14 +58,14 @@ [testenv:releasenotes] deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:functional] -passenv = OS_NOVACLIENT_TEST_NETWORK +passenv = OS_* commands = stestr --test-path=./novaclient/tests/functional run --concurrency=1 {posargs} python novaclient/tests/functional/hooks/check_resources.py