Hello community,

here is the log from the commit of package python-oslo.vmware for 
openSUSE:Factory checked in at 2020-10-26 16:17:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.vmware (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.vmware.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.vmware"

Mon Oct 26 16:17:29 2020 rev:18 rq:841221 version:3.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.vmware/python-oslo.vmware.changes    
2020-06-05 20:19:44.815771146 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.vmware.new.3463/python-oslo.vmware.changes
  2020-10-26 16:18:16.143029509 +0100
@@ -1,0 +2,21 @@
+Fri Oct  9 19:18:28 UTC 2020 - cloud-de...@suse.de
+
+- update to version 3.7.0
+  - Add py38 package metadata
+  - Bump default tox env from py37 to py38
+  - Switch to newer openstackdocstheme and reno versions
+  - Add backend-independent access to cookiejar
+  - Add release notes links to doc index
+  - Add Python3 victoria unit tests
+  - Remove the unused coding style modules
+  - Add moref helper functions
+  - [goal] Migrate testing to ubuntu focal
+  - Remove translation sections from setup.cfg
+  - Align contributing doc with oslo's policy
+  - Update master for stable/ussuri
+  - Fix hacking min version to 3.0.1
+  - Imported Translations from Zanata
+  - Bump bandit version
+  - Validation of VMDK upload completion
+
+-------------------------------------------------------------------

Old:
----
  oslo.vmware-3.3.1.tar.gz

New:
----
  oslo.vmware-3.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.vmware.spec ++++++
--- /var/tmp/diff_new_pack.vaej9Z/_old  2020-10-26 16:18:17.375030500 +0100
+++ /var/tmp/diff_new_pack.vaej9Z/_new  2020-10-26 16:18:17.379030503 +0100
@@ -17,21 +17,20 @@
 
 
 Name:           python-oslo.vmware
-Version:        3.3.1
+Version:        3.7.0
 Release:        0
 Summary:        Oslo VMware library for OpenStack projects
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/oslo.vmware
-Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.vmware/oslo.vmware-3.3.1.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.vmware/oslo.vmware-3.7.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-Babel
 BuildRequires:  python3-ddt
 BuildRequires:  python3-eventlet >= 0.18.2
 BuildRequires:  python3-fixtures
-BuildRequires:  python3-lxml >= 3.4.1
+BuildRequires:  python3-lxml >= 4.5.0
 BuildRequires:  python3-mock
-BuildRequires:  python3-mox3
 BuildRequires:  python3-netaddr >= 0.7.18
 BuildRequires:  python3-oslo.concurrency >= 3.26.0
 BuildRequires:  python3-oslo.context >= 2.19.2
@@ -58,9 +57,9 @@
 %package -n python3-oslo.vmware
 Summary:        Oslo VMware library for OpenStack projects
 Group:          Development/Languages/Python
-Requires:       python3-PyYAML >= 3.12
+Requires:       python3-PyYAML >= 3.13
 Requires:       python3-eventlet >= 0.18.2
-Requires:       python3-lxml >= 3.4.1
+Requires:       python3-lxml >= 4.5.0
 Requires:       python3-netaddr >= 0.7.18
 Requires:       python3-oslo.concurrency >= 3.26.0
 Requires:       python3-oslo.context >= 2.19.2
@@ -93,7 +92,7 @@
 Documentation for OpenStack common VMware library.
 
 %prep
-%autosetup -p1 -n oslo.vmware-3.3.1
+%autosetup -p1 -n oslo.vmware-3.7.0
 %py_req_cleanup
 
 %build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vaej9Z/_old  2020-10-26 16:18:17.407030525 +0100
+++ /var/tmp/diff_new_pack.vaej9Z/_new  2020-10-26 16:18:17.411030529 +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/oslo.vmware/oslo.vmware.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/oslo.vmware/oslo.vmware.spec.j2</param>
     <param name="output-name">python-oslo.vmware.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/oslo.vmware/raw/branch/stable/ussuri/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/oslo.vmware/raw/branch/stable/victoria/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,oslo.vmware</param>
   </service>

++++++ oslo.vmware-3.3.1.tar.gz -> oslo.vmware-3.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/.zuul.yaml 
new/oslo.vmware-3.7.0/.zuul.yaml
--- old/oslo.vmware-3.3.1/.zuul.yaml    2020-04-07 12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/.zuul.yaml    2020-09-11 21:19:36.000000000 +0200
@@ -3,6 +3,6 @@
       - check-requirements
       - lib-forward-testing-python3
       - openstack-lower-constraints-jobs
-      - openstack-python3-ussuri-jobs
+      - openstack-python3-victoria-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/AUTHORS 
new/oslo.vmware-3.7.0/AUTHORS
--- old/oslo.vmware-3.3.1/AUTHORS       2020-04-07 12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/AUTHORS       2020-09-11 21:21:08.000000000 +0200
@@ -25,17 +25,20 @@
 Haifeng.Yan <yanhe...@qq.com>
 Hemna <wabor...@hemna.com>
 Hervé Beraud <hber...@redhat.com>
+Ivaylo Mitev <imi...@vmware.com>
 James Carey <jeca...@us.ibm.com>
 Janonymous <janonymous.codevult...@gmail.com>
 Javeme <zhangmei...@easystack.cn>
 Javier Pena <jp...@redhat.com>
 Jeremy Stanley <fu...@yuggoth.org>
+Johannes Kulik <johannes.ku...@sap.com>
 Kenneth Giusti <kgiu...@gmail.com>
 Kirill Bespalov <kbespa...@mirantis.com>
 Kobi Samoray <ksamo...@vmware.com>
 Luong Anh Tuan <tua...@vn.fujitsu.com>
 Masaru Nomura <massa.nom...@gmail.com>
 Matt Riedemann <mrie...@us.ibm.com>
+Moisés Guimarães de Medeiros <mogui...@redhat.com>
 Monty Taylor <mord...@inaugust.com>
 Ngo Quoc Cuong <cuon...@vn.fujitsu.com>
 Nguyen Van Trung <trun...@vn.fujitsu.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/CONTRIBUTING.rst 
new/oslo.vmware-3.7.0/CONTRIBUTING.rst
--- old/oslo.vmware-3.3.1/CONTRIBUTING.rst      2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/CONTRIBUTING.rst      2020-09-11 21:19:36.000000000 
+0200
@@ -2,6 +2,11 @@
 Contributing
 ============
 
+If you would like to contribute to the development of oslo's libraries,
+first you must take a look to this page:
+
+   
https://specs.openstack.org/openstack/oslo-specs/specs/policy/contributing.html
+
 If you would like to contribute to the development of OpenStack,
 you must follow the steps in this page:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/ChangeLog 
new/oslo.vmware-3.7.0/ChangeLog
--- old/oslo.vmware-3.3.1/ChangeLog     2020-04-07 12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/ChangeLog     2020-09-11 21:21:08.000000000 +0200
@@ -1,6 +1,38 @@
 CHANGES
 =======
 
+3.7.0
+-----
+
+* [goal] Migrate testing to ubuntu focal
+* Bump bandit version
+
+3.6.0
+-----
+
+* Add backend-independent access to cookiejar
+
+3.5.0
+-----
+
+* Add moref helper functions
+
+3.4.0
+-----
+
+* Validation of VMDK upload completion
+* Fix hacking min version to 3.0.1
+* Imported Translations from Zanata
+* Switch to newer openstackdocstheme and reno versions
+* Remove the unused coding style modules
+* Remove translation sections from setup.cfg
+* Align contributing doc with oslo's policy
+* Bump default tox env from py37 to py38
+* Add py38 package metadata
+* Add release notes links to doc index
+* Add Python3 victoria unit tests
+* Update master for stable/ussuri
+
 3.3.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/PKG-INFO 
new/oslo.vmware-3.7.0/PKG-INFO
--- old/oslo.vmware-3.3.1/PKG-INFO      2020-04-07 12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/PKG-INFO      2020-09-11 21:21:08.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.vmware
-Version: 3.3.1
+Version: 3.7.0
 Summary: Oslo VMware library
 Home-page: https://docs.openstack.org/oslo.vmware/latest/
 Author: OpenStack
@@ -47,6 +47,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/oslo.vmware-3.3.1/babel.cfg 
new/oslo.vmware-3.7.0/babel.cfg
--- old/oslo.vmware-3.3.1/babel.cfg     2020-04-07 12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/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/oslo.vmware-3.3.1/doc/requirements.txt 
new/oslo.vmware-3.7.0/doc/requirements.txt
--- old/oslo.vmware-3.3.1/doc/requirements.txt  2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/doc/requirements.txt  2020-09-11 21:19:36.000000000 
+0200
@@ -2,8 +2,8 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 # These are needed for docs generation
-openstackdocstheme>=1.20.0 # Apache-2.0
-sphinx>=1.8.0,!=2.1.0 # BSD
-reno>=2.5.0 # Apache-2.0
+openstackdocstheme>=2.2.0 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+reno>=3.1.0 # Apache-2.0
 fixtures>=3.0.0 # Apache-2.0/BSD
 sphinxcontrib-apidoc>=0.2.0  # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/doc/source/conf.py 
new/oslo.vmware-3.7.0/doc/source/conf.py
--- old/oslo.vmware-3.3.1/doc/source/conf.py    2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/doc/source/conf.py    2020-09-11 21:19:36.000000000 
+0200
@@ -22,15 +22,14 @@
 ]
 
 # openstackdocstheme options
-repository_name = 'openstack/oslo.vmware'
-bug_project = 'oslo.vmware'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/oslo.vmware'
+openstackdocs_bug_project = 'oslo.vmware'
+openstackdocs_bug_tag = ''
 
 # The master toctree document.
 master_doc = 'index'
 
 # General information about the project.
-project = u'oslo.vmware'
 copyright = u'2014, OpenStack Foundation'
 
 # If true, '()' will be appended to :func: etc. cross-reference text.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/doc/source/index.rst 
new/oslo.vmware-3.7.0/doc/source/index.rst
--- old/oslo.vmware-3.3.1/doc/source/index.rst  2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/doc/source/index.rst  2020-09-11 21:19:36.000000000 
+0200
@@ -5,6 +5,9 @@
 The Oslo VMware library provides support for common VMware operations
 and APIs.
 
+Contents
+========
+
 .. toctree::
    :maxdepth: 2
 
@@ -13,7 +16,14 @@
    contributor/index
    reference/index
 
-.. rubric:: Indices and tables
+Release Notes
+=============
+
+Read also the `oslo.vmware Release Notes
+<https://docs.openstack.org/releasenotes/oslo.vmware/>`_.
+
+Indices and tables
+==================
 
 * :ref:`genindex`
 * :ref:`modindex`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/lower-constraints.txt 
new/oslo.vmware-3.7.0/lower-constraints.txt
--- old/oslo.vmware-3.3.1/lower-constraints.txt 2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/lower-constraints.txt 2020-09-11 21:19:36.000000000 
+0200
@@ -10,42 +10,33 @@
 extras==1.0.0
 fasteners==0.7.0
 fixtures==3.0.0
-flake8==2.5.5
 gitdb==0.6.4
 GitPython==1.0.1
-greenlet==0.4.10
-hacking==0.12.0
+greenlet==0.4.15
 imagesize==0.7.1
 iso8601==0.1.11
 Jinja2==2.10
 linecache2==1.0.0
-lxml==3.4.1
+lxml==4.5.0
 MarkupSafe==1.0
-mccabe==0.2.1
 netaddr==0.7.18
 netifaces==0.10.4
-openstackdocstheme==1.20.0
 oslo.concurrency==3.26.0
 oslo.config==5.2.0
 oslo.context==2.19.2
 oslo.i18n==3.15.3
 oslo.utils==3.33.0
 pbr==2.0.0
-pep8==1.5.7
-pyflakes==0.8.1
 Pygments==2.2.0
 pyparsing==2.1.0
 python-mimeparse==1.6.0
 python-subunit==1.0.0
 pytz==2013.6
-PyYAML==3.12
-reno==2.5.0
+PyYAML==3.13
 requests==2.14.2
 rfc3986==0.3.1
 smmap==0.9.0
 snowballstemmer==1.2.1
-Sphinx==1.8.0
-sphinxcontrib-websupport==1.0.1
 stestr==2.0.0
 stevedore==1.20.0
 suds-jurko==0.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo.vmware.egg-info/PKG-INFO 
new/oslo.vmware-3.7.0/oslo.vmware.egg-info/PKG-INFO
--- old/oslo.vmware-3.3.1/oslo.vmware.egg-info/PKG-INFO 2020-04-07 
12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo.vmware.egg-info/PKG-INFO 2020-09-11 
21:21:08.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.vmware
-Version: 3.3.1
+Version: 3.7.0
 Summary: Oslo VMware library
 Home-page: https://docs.openstack.org/oslo.vmware/latest/
 Author: OpenStack
@@ -47,6 +47,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/oslo.vmware-3.3.1/oslo.vmware.egg-info/SOURCES.txt 
new/oslo.vmware-3.7.0/oslo.vmware.egg-info/SOURCES.txt
--- old/oslo.vmware-3.3.1/oslo.vmware.egg-info/SOURCES.txt      2020-04-07 
12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo.vmware.egg-info/SOURCES.txt      2020-09-11 
21:21:08.000000000 +0200
@@ -8,7 +8,6 @@
 HACKING.rst
 LICENSE
 README.rst
-babel.cfg
 bindep.txt
 lower-constraints.txt
 pylintrc
@@ -100,7 +99,10 @@
 oslo_vmware/wsdl/6.7/reflect-types.xsd
 oslo_vmware/wsdl/6.7/vim-types.xsd
 releasenotes/notes/add_reno-3b4ae0789e9c45b4.yaml
+releasenotes/notes/bp-oslo-vmware-soap-library-switch-cookiejar-access-d7efcc23d0eaee98.yaml
+releasenotes/notes/bp-oslo-vmware-soap-library-switch-helper-functions-21330be61cf7922a.yaml
 releasenotes/notes/drop-python27-support-4991a70046af4b03.yaml
+releasenotes/notes/vmdk-transfer-validation-014d28cc9430e51b.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/newton.rst
@@ -111,6 +113,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/en_GB/LC_MESSAGES/releasenotes.po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo.vmware.egg-info/pbr.json 
new/oslo.vmware-3.7.0/oslo.vmware.egg-info/pbr.json
--- old/oslo.vmware-3.3.1/oslo.vmware.egg-info/pbr.json 2020-04-07 
12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo.vmware.egg-info/pbr.json 2020-09-11 
21:21:08.000000000 +0200
@@ -1 +1 @@
-{"git_version": "c9c3416", "is_release": true}
\ No newline at end of file
+{"git_version": "aa5a4b1", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo.vmware.egg-info/requires.txt 
new/oslo.vmware-3.7.0/oslo.vmware.egg-info/requires.txt
--- old/oslo.vmware-3.3.1/oslo.vmware.egg-info/requires.txt     2020-04-07 
12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo.vmware.egg-info/requires.txt     2020-09-11 
21:21:08.000000000 +0200
@@ -1,13 +1,13 @@
-pbr!=2.1.0,>=2.0.0
-stevedore>=1.20.0
+PyYAML>=3.13
+eventlet!=0.18.3,!=0.20.1,>=0.18.2
+lxml>=4.5.0
 netaddr>=0.7.18
+oslo.concurrency>=3.26.0
+oslo.context>=2.19.2
 oslo.i18n>=3.15.3
 oslo.utils>=3.33.0
-PyYAML>=3.12
-lxml!=3.7.0,>=3.4.1
-suds-jurko>=0.6
-eventlet!=0.18.3,!=0.20.1,>=0.18.2
+pbr!=2.1.0,>=2.0.0
 requests>=2.14.2
+stevedore>=1.20.0
+suds-jurko>=0.6
 urllib3>=1.21.1
-oslo.concurrency>=3.26.0
-oslo.context>=2.19.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/api.py 
new/oslo.vmware-3.7.0/oslo_vmware/api.py
--- old/oslo.vmware-3.3.1/oslo_vmware/api.py    2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/api.py    2020-09-11 21:19:36.000000000 
+0200
@@ -424,7 +424,7 @@
                               "task: %s.",
                               task)
         else:
-            task_detail = {'id': task.value}
+            task_detail = {'id': vim_util.get_moref_value(task)}
             # some internal tasks do not have 'name' set
             if getattr(task_info, 'name', None):
                 task_detail['name'] = task_info.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/dvs_util.py 
new/oslo.vmware-3.7.0/oslo_vmware/dvs_util.py
--- old/oslo.vmware-3.3.1/oslo_vmware/dvs_util.py       2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/dvs_util.py       2020-09-11 
21:19:36.000000000 +0200
@@ -112,7 +112,7 @@
     task_info = session.wait_for_task(task)
     LOG.info("%(name)s create on %(dvs)s with %(value)s.",
              {'name': name,
-              'dvs': dvs_moref.value,
+              'dvs': vim_util.get_moref_value(dvs_moref),
               'value': task_info.result.value})
     return task_info.result
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/pbm.py 
new/oslo.vmware-3.7.0/oslo_vmware/pbm.py
--- old/oslo.vmware-3.3.1/oslo_vmware/pbm.py    2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/pbm.py    2020-09-11 21:19:36.000000000 
+0200
@@ -161,7 +161,7 @@
     hubs = []
     for ds in datastores:
         hub = pbm_client_factory.create('ns0:PbmPlacementHub')
-        hub.hubId = ds.value
+        hub.hubId = vim_util.get_moref_value(ds)
         hub.hubType = 'Datastore'
         hubs.append(hub)
     return hubs
@@ -177,7 +177,7 @@
     filtered_dss = []
     hub_ids = [hub.hubId for hub in hubs]
     for ds in datastores:
-        if ds.value in hub_ids:
+        if vim_util.get_moref_value(ds) in hub_ids:
             filtered_dss.append(ds)
     return filtered_dss
 
@@ -216,7 +216,7 @@
     profile_manager = pbm.service_content.profileManager
 
     object_ref = pbm.client.factory.create('ns0:PbmServerObjectRef')
-    object_ref.key = vm.value
+    object_ref.key = vim_util.get_moref_value(vm)
     object_ref.objectType = 'virtualMachine'
 
     return session.invoke_api(pbm, 'PbmQueryAssociatedProfile',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/rw_handles.py 
new/oslo.vmware-3.7.0/oslo_vmware/rw_handles.py
--- old/oslo.vmware-3.3.1/oslo_vmware/rw_handles.py     2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/rw_handles.py     2020-09-11 
21:19:36.000000000 +0200
@@ -353,7 +353,13 @@
         LOG.debug("Lease for %(url)s is in state: %(state)s.",
                   {'url': self._url,
                    'state': state})
-        if state == 'ready':
+        if self._get_progress() < 100:
+            LOG.error("Aborting lease for %s due to incomplete transfer.",
+                      self._url)
+            self._session.invoke_api(self._session.vim,
+                                     'HttpNfcLeaseAbort',
+                                     self._lease)
+        elif state == 'ready':
             LOG.debug("Releasing lease for %s.", self._url)
             self._session.invoke_api(self._session.vim,
                                      'HttpNfcLeaseComplete',
@@ -486,7 +492,7 @@
         url, thumbprint = self._find_vmdk_url(lease_info, host, port)
         self._vm_ref = lease_info.entity
 
-        cookies = session.vim.client.options.transport.cookiejar
+        cookies = session.vim.client.cookiejar
         # Create HTTP connection to write to VMDK URL
         if http_method == 'PUT':
             overwrite = 't'
@@ -506,7 +512,14 @@
         super(VmdkWriteHandle, self).__init__(session, lease, url, self._conn)
 
     def get_imported_vm(self):
-        """"Get managed object reference of the VM created for import."""
+        """"Get managed object reference of the VM created for import.
+
+        :raises: VimException
+        """
+        if self._get_progress() < 100:
+            excep_msg = _("Incomplete VMDK upload to %s.") % self._url
+            LOG.exception(excep_msg)
+            raise exceptions.ImageTransferException(excep_msg)
         return self._vm_ref
 
     def tell(self):
@@ -587,7 +600,7 @@
 
         # find URL of the VMDK file to be read and open connection
         url, thumbprint = self._find_vmdk_url(lease_info, host, port)
-        cookies = session.vim.client.options.transport.cookiejar
+        cookies = session.vim.client.cookiejar
         self._conn = self._create_read_connection(url,
                                                   cookies=cookies,
                                                   ssl_thumbprint=thumbprint)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/service.py 
new/oslo.vmware-3.7.0/oslo_vmware/service.py
--- old/oslo.vmware-3.3.1/oslo_vmware/service.py        2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/service.py        2020-09-11 
21:19:36.000000000 +0200
@@ -209,6 +209,25 @@
 _CACHE = MemoryCache()
 
 
+class CompatibilitySudsClient(client.Client):
+    """suds client with added cookiejar attribute
+
+    The cookiejar properties allow reading/setting the cookiejar used by the
+    underlying transport.
+    """
+    def __init__(self, *args, **kwargs):
+        super(CompatibilitySudsClient, self).__init__(*args, **kwargs)
+
+    @property
+    def cookiejar(self):
+        return self.options.transport.cookiejar
+
+    @cookiejar.setter
+    def cookiejar(self, cookies):
+        self.options.transport.session.cookies = cookies
+        self.options.transport.cookiejar = cookies
+
+
 class Service(object):
     """Base class containing common functionality for invoking vSphere
     services
@@ -226,11 +245,11 @@
                                       insecure=insecure,
                                       pool_maxsize=pool_maxsize,
                                       connection_timeout=connection_timeout)
-        self.client = client.Client(self.wsdl_url,
-                                    transport=transport,
-                                    location=self.soap_url,
-                                    plugins=[ServiceMessagePlugin()],
-                                    cache=_CACHE)
+        self.client = CompatibilitySudsClient(self.wsdl_url,
+                                              transport=transport,
+                                              location=self.soap_url,
+                                              plugins=[ServiceMessagePlugin()],
+                                              cache=_CACHE)
         self._service_content = None
         self._vc_session_cookie = None
 
@@ -274,7 +293,8 @@
                         f_name = f_type.__class__.__name__
                         fault_list.append(f_name)
                         if f_name == exceptions.NO_PERMISSION:
-                            details['object'] = f_type.object.value
+                            details['object'] = \
+                                vim_util.get_moref_value(f_type.object)
                             details['privilegeId'] = f_type.privilegeId
 
         if fault_list:
@@ -311,7 +331,7 @@
 
     def get_http_cookie(self):
         """Return the vCenter session cookie."""
-        cookies = self.client.options.transport.cookiejar
+        cookies = self.client.cookiejar
         for cookie in cookies:
             if cookie.name.lower() == 'vmware_soap_session':
                 return cookie.value
@@ -349,7 +369,7 @@
                     op_id = '%s-%s' % (self.op_id_prefix,
                                        uuidutils.generate_uuid())
                     LOG.debug('Invoking %s.%s with opID=%s',
-                              managed_object._type,
+                              vim_util.get_moref_type(managed_object),
                               attr_name,
                               op_id)
                 self._set_soap_headers(op_id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/oslo_vmware/tests/objects/test_datastore.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/objects/test_datastore.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/objects/test_datastore.py   
2020-04-07 12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/objects/test_datastore.py   
2020-09-11 21:19:36.000000000 +0200
@@ -179,7 +179,8 @@
         dsc_moid = 'group-p123'
         dsc_ref, dsc_name = datastore.get_dsc_ref_and_name(session, dsc_moid)
         self.assertEqual((dsc_moid, 'StoragePod'),
-                         (dsc_ref.value, dsc_ref._type))
+                         (vim_util.get_moref_value(dsc_ref),
+                          vim_util.get_moref_type(dsc_ref)))
         self.assertEqual('ds-cluster', dsc_name)
         session.invoke_api.assert_called_once_with(vim_util,
                                                    'get_object_property',
@@ -205,8 +206,10 @@
         session.invoke_api.return_value = retrieve_result
         name = 'ds-cluster'
         dsc_ref, dsc_name = datastore.get_dsc_ref_and_name(session, name)
-        self.assertEqual((pod_ref.value, pod_ref._type),
-                         (dsc_ref.value, dsc_ref._type))
+        self.assertEqual((vim_util.get_moref_value(pod_ref),
+                          vim_util.get_moref_type(pod_ref)),
+                         (vim_util.get_moref_value(dsc_ref),
+                          vim_util.get_moref_type(dsc_ref)))
 
 
 class DatastorePathTestCase(base.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_api.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_api.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_api.py 2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_api.py 2020-09-11 
21:19:36.000000000 +0200
@@ -587,8 +587,7 @@
         with (
             mock.patch.object(api_session, 'invoke_api', fake_invoke_api)
         ):
-            fake_task = mock.Mock()
-            fake_task.value = 'task-1'
+            fake_task = vim_util.get_moref('Task', 'task-1')
             ctx = mock.Mock()
             self.assertRaises(expected_exception,
                               api_session._poll_task,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_dvs_util.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_dvs_util.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_dvs_util.py    2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_dvs_util.py    2020-09-11 
21:19:36.000000000 +0200
@@ -32,8 +32,9 @@
 
     def test_get_dvs_moref(self):
         moref = dvs_util.get_dvs_moref('dvs-123')
-        self.assertEqual('dvs-123', moref.value)
-        self.assertEqual('VmwareDistributedVirtualSwitch', moref._type)
+        self.assertEqual('dvs-123', vim_util.get_moref_value(moref))
+        self.assertEqual('VmwareDistributedVirtualSwitch',
+                         vim_util.get_moref_type(moref))
 
     def test_get_vlan_spec(self):
         session = mock.Mock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_pbm.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_pbm.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_pbm.py 2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_pbm.py 2020-09-11 
21:19:36.000000000 +0200
@@ -23,6 +23,7 @@
 
 from oslo_vmware import pbm
 from oslo_vmware.tests import base
+from oslo_vmware import vim_util
 
 
 class PBMUtilityTest(base.TestCase):
@@ -108,8 +109,7 @@
             profile=profile_id)
 
     def _create_datastore(self, value):
-        ds = mock.Mock()
-        ds.value = value
+        ds = vim_util.get_moref(value, 'Datastore')
         return ds
 
     def test_convert_datastores_to_hubs(self):
@@ -144,7 +144,8 @@
 
         filtered_ds = pbm.filter_datastores_by_hubs(hubs, datastores)
         self.assertEqual(len(hubs), len(filtered_ds))
-        filtered_ds_values = [ds.value for ds in filtered_ds]
+        filtered_ds_values = [vim_util.get_moref_value(ds)
+                              for ds in filtered_ds]
         self.assertEqual(set(hub_ids), set(filtered_ds_values))
 
     def test_get_pbm_wsdl_location(self):
@@ -180,7 +181,7 @@
         session.invoke_api.return_value = profile_id
 
         value = 'vm-1'
-        vm = mock.Mock(value=value)
+        vm = vim_util.get_moref(value, 'VirtualMachine')
         ret = pbm.get_profiles(session, vm)
 
         self.assertEqual(profile_id, ret)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/oslo_vmware/tests/test_rw_handles.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_rw_handles.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_rw_handles.py  2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_rw_handles.py  2020-09-11 
21:19:36.000000000 +0200
@@ -171,6 +171,18 @@
 
         self.assertRaises(IOError, handle.fileno)
 
+    def test_release_lease_incomplete_transfer(self):
+        session = mock.Mock()
+        handle = rw_handles.VmdkHandle(session, None, 'fake-url', None)
+
+        handle._get_progress = mock.Mock(return_value=99)
+        session.invoke_api = mock.Mock()
+        handle._release_lease()
+
+        session.invoke_api.assert_called_with(handle._session.vim,
+                                              'HttpNfcLeaseAbort',
+                                              handle._lease)
+
 
 class VmdkWriteHandleTest(base.TestCase):
     """Tests for VmdkWriteHandle."""
@@ -205,7 +217,7 @@
         vim_cookie = mock.Mock()
         vim_cookie.name = 'name'
         vim_cookie.value = 'value'
-        session.vim.client.options.transport.cookiejar = [vim_cookie]
+        session.vim.client.cookiejar = [vim_cookie]
         return session
 
     def test_init_failure(self):
@@ -276,9 +288,21 @@
 
         session.invoke_api = mock.Mock(
             side_effect=session_invoke_api_side_effect)
+        handle._get_progress = mock.Mock(return_value=100)
         handle.close()
         self.assertEqual(2, session.invoke_api.call_count)
 
+    def test_get_vm_incomplete_transfer(self):
+        session = self._create_mock_session()
+        handle = rw_handles.VmdkWriteHandle(session, '10.1.2.3', 443, 'rp-1',
+                                            'folder-1', None, 100)
+
+        handle._get_progress = mock.Mock(return_value=99)
+        session.invoke_api = mock.Mock()
+
+        self.assertRaises(exceptions.ImageTransferException,
+                          handle.get_imported_vm)
+
 
 class VmdkReadHandleTest(base.TestCase):
     """Tests for VmdkReadHandle."""
@@ -320,7 +344,7 @@
         vim_cookie = mock.Mock()
         vim_cookie.name = 'name'
         vim_cookie.value = 'value'
-        session.vim.client.options.transport.cookiejar = [vim_cookie]
+        session.vim.client.cookiejar = [vim_cookie]
         return session
 
     def test_init_failure(self):
@@ -390,6 +414,7 @@
 
         session.invoke_api = mock.Mock(
             side_effect=session_invoke_api_side_effect)
+        handle._get_progress = mock.Mock(return_value=100)
         handle.close()
         self.assertEqual(2, session.invoke_api.call_count)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_service.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_service.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_service.py     2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_service.py     2020-09-11 
21:19:36.000000000 +0200
@@ -60,7 +60,7 @@
 
     def setUp(self):
         super(ServiceTest, self).setUp()
-        patcher = mock.patch('suds.client.Client')
+        patcher = mock.patch('oslo_vmware.service.CompatibilitySudsClient')
         self.addCleanup(patcher.stop)
         self.SudsClientMock = patcher.start()
 
@@ -95,8 +95,8 @@
         resp = mock.Mock()
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             return resp
 
         svc_obj = service.Service()
@@ -110,8 +110,8 @@
         managed_object = 'Datacenter'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             return None
 
         svc_obj = service.Service()
@@ -129,8 +129,8 @@
         doc = mock.Mock()
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             fault = mock.Mock(faultstring="MyFault")
 
             fault_children = mock.Mock()
@@ -180,8 +180,8 @@
         doc = mock.Mock()
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             fault = mock.Mock(faultstring="MyFault")
 
             fault_children = mock.Mock()
@@ -215,8 +215,8 @@
         doc = mock.Mock()
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             fault = mock.Mock(faultstring="MyFault")
 
             fault_children = mock.Mock()
@@ -257,8 +257,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise httplib.CannotSendRequest()
 
         svc_obj = service.Service()
@@ -273,8 +273,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise httplib.ResponseNotReady()
 
         svc_obj = service.Service()
@@ -289,8 +289,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise httplib.CannotSendHeader()
 
         svc_obj = service.Service()
@@ -305,8 +305,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise requests.ConnectionError()
 
         svc_obj = service.Service()
@@ -321,8 +321,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise requests.HTTPError()
 
         svc_obj = service.Service()
@@ -344,8 +344,8 @@
         managed_object = 'VirtualMachine'
 
         def side_effect(mo, **kwargs):
-            self.assertEqual(managed_object, mo._type)
-            self.assertEqual(managed_object, mo.value)
+            self.assertEqual(managed_object, vim_util.get_moref_type(mo))
+            self.assertEqual(managed_object, vim_util.get_moref_value(mo))
             raise Exception(message)
 
         svc_obj = service.Service()
@@ -377,7 +377,7 @@
         cookie = mock.Mock()
         cookie.name = 'vmware_soap_session'
         cookie.value = cookie_value
-        svc_obj.client.options.transport.cookiejar = [cookie]
+        svc_obj.client.cookiejar = [cookie]
         self.assertEqual(cookie_value, svc_obj.get_http_cookie())
 
     def test_get_session_cookie_with_no_cookie(self):
@@ -385,7 +385,7 @@
         cookie = mock.Mock()
         cookie.name = 'cookie'
         cookie.value = 'xyz'
-        svc_obj.client.options.transport.cookiejar = [cookie]
+        svc_obj.client.cookiejar = [cookie]
         self.assertIsNone(svc_obj.get_http_cookie())
 
     def test_set_soap_headers(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_vim.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_vim.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_vim.py 2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_vim.py 2020-09-11 
21:19:36.000000000 +0200
@@ -31,7 +31,7 @@
 
     def setUp(self):
         super(VimTest, self).setUp()
-        patcher = mock.patch('suds.client.Client')
+        patcher = mock.patch('oslo_vmware.service.CompatibilitySudsClient')
         self.addCleanup(patcher.stop)
         self.SudsClientMock = patcher.start()
         self.useFixture(i18n_fixture.ToggleLazy(True))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/tests/test_vim_util.py 
new/oslo.vmware-3.7.0/oslo_vmware/tests/test_vim_util.py
--- old/oslo.vmware-3.3.1/oslo_vmware/tests/test_vim_util.py    2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/tests/test_vim_util.py    2020-09-11 
21:19:36.000000000 +0200
@@ -27,8 +27,8 @@
 
     def test_get_moref(self):
         moref = vim_util.get_moref("vm-0", "VirtualMachine")
-        self.assertEqual("vm-0", moref.value)
-        self.assertEqual("VirtualMachine", moref._type)
+        self.assertEqual("vm-0", vim_util.get_moref_value(moref))
+        self.assertEqual("VirtualMachine", vim_util.get_moref_type(moref))
 
     def test_build_selection_spec(self):
         client_factory = mock.Mock()
@@ -214,8 +214,7 @@
     @mock.patch('oslo_vmware.vim_util.cancel_retrieval')
     def test_get_object_properties(self, cancel_retrieval):
         vim = mock.Mock()
-        moref = mock.Mock()
-        moref._type = "VirtualMachine"
+        moref = vim_util.get_moref('fake-ref', 'VirtualMachine')
         retrieve_result = mock.Mock()
 
         def vim_RetrievePropertiesEx_side_effect(pc, specSet, options,
@@ -231,7 +230,7 @@
             prop_spec = propSet[0]
             self.assertTrue(prop_spec.all)
             self.assertEqual(['name'], prop_spec.pathSet)
-            self.assertEqual(moref._type, prop_spec.type)
+            self.assertEqual(vim_util.get_moref_type(moref), prop_spec.type)
 
             objSet = property_filter_spec.objectSet
             self.assertEqual(1, len(objSet))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/oslo_vmware/vim_util.py 
new/oslo.vmware-3.7.0/oslo_vmware/vim_util.py
--- old/oslo.vmware-3.3.1/oslo_vmware/vim_util.py       2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/oslo_vmware/vim_util.py       2020-09-11 
21:19:36.000000000 +0200
@@ -37,6 +37,44 @@
     return moref
 
 
+def get_moref_value(moref):
+    """Get the value/id of a managed object reference
+
+    This function accepts a string representation of a ManagedObjectReference
+    like `VirtualMachine:vm-123` or only `vm-123`, but is also able to extract
+    it from the actual object as returned by the API.
+    """
+    if isinstance(moref, str):
+        # handle strings like VirtualMachine:vm-12312, but also vm-123123
+        if ':' in moref:
+            splits = moref.split(':')
+            return splits[1]
+        return moref
+
+    # assume it's a ManagedObjectReference object as created by `get_moref()`
+    # or returned by a request
+    return moref.value
+
+
+def get_moref_type(moref):
+    """Get the type of a managed object reference
+
+    This function accepts a string representation of a ManagedObjectReference
+    like `VirtualMachine:vm-123`, but is also able to extract it from the
+    actual object as returned by the API.
+    """
+    if isinstance(moref, str):
+        # handle strings like VirtualMachine:vm-12312
+        if ':' in moref:
+            splits = moref.split(':')
+            return splits[0]
+        return None
+
+    # assume it's a ManagedObjectReference object as created by `get_moref()`
+    # or returned by a request
+    return moref._type
+
+
 def build_selection_spec(client_factory, name):
     """Builds the selection spec.
 
@@ -309,7 +347,7 @@
                       len(properties_to_collect) == 0)
     property_spec = build_property_spec(
         client_factory,
-        type_=moref._type,
+        type_=get_moref_type(moref),
         properties_to_collect=properties_to_collect,
         all_properties=all_properties)
     object_spec = build_object_spec(client_factory, moref, [])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/releasenotes/notes/bp-oslo-vmware-soap-library-switch-cookiejar-access-d7efcc23d0eaee98.yaml
 
new/oslo.vmware-3.7.0/releasenotes/notes/bp-oslo-vmware-soap-library-switch-cookiejar-access-d7efcc23d0eaee98.yaml
--- 
old/oslo.vmware-3.3.1/releasenotes/notes/bp-oslo-vmware-soap-library-switch-cookiejar-access-d7efcc23d0eaee98.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.vmware-3.7.0/releasenotes/notes/bp-oslo-vmware-soap-library-switch-cookiejar-access-d7efcc23d0eaee98.yaml
  2020-09-11 21:19:36.000000000 +0200
@@ -0,0 +1,8 @@
+---
+upgrade:
+  - Code accessing the ``cookiejar`` must use ``session.client.cookiejar``
+    instead of the previous ``session.client.options.transport.cookiejar``,
+    because with `this spec
+    
<https://specs.openstack.org/openstack/oslo-specs/specs/victoria/oslo-vmware-soap-library-switch.html>`_
+    we switch the backing SOAP library and different libraries have different
+    locations for their transport and cookiejar objects.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/releasenotes/notes/bp-oslo-vmware-soap-library-switch-helper-functions-21330be61cf7922a.yaml
 
new/oslo.vmware-3.7.0/releasenotes/notes/bp-oslo-vmware-soap-library-switch-helper-functions-21330be61cf7922a.yaml
--- 
old/oslo.vmware-3.3.1/releasenotes/notes/bp-oslo-vmware-soap-library-switch-helper-functions-21330be61cf7922a.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.vmware-3.7.0/releasenotes/notes/bp-oslo-vmware-soap-library-switch-helper-functions-21330be61cf7922a.yaml
  2020-09-11 21:19:36.000000000 +0200
@@ -0,0 +1,9 @@
+---
+upgrade:
+  - |
+    ``ManagedObjectReference``'s ``value`` and ``_type`` attributes must not be
+    used anymore in depending projects. Instead, ``vim_util.get_moref_value()``
+    and ``vim_util.get_moref_type()`` have to be used, because with
+    `this spec 
<https://specs.openstack.org/openstack/oslo-specs/specs/victoria/oslo-vmware-soap-library-switch.html>`_
+    we switch the backing SOAP library and different libraries have different
+    representations of those attributes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/releasenotes/notes/vmdk-transfer-validation-014d28cc9430e51b.yaml
 
new/oslo.vmware-3.7.0/releasenotes/notes/vmdk-transfer-validation-014d28cc9430e51b.yaml
--- 
old/oslo.vmware-3.3.1/releasenotes/notes/vmdk-transfer-validation-014d28cc9430e51b.yaml
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.vmware-3.7.0/releasenotes/notes/vmdk-transfer-validation-014d28cc9430e51b.yaml
     2020-09-11 21:19:36.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Incomplete VMDK upload during ImportVApp is falsely marked as successful
+    leading to a corrupted VM.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/releasenotes/source/conf.py 
new/oslo.vmware-3.7.0/releasenotes/source/conf.py
--- old/oslo.vmware-3.3.1/releasenotes/source/conf.py   2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/releasenotes/source/conf.py   2020-09-11 
21:19:36.000000000 +0200
@@ -40,9 +40,10 @@
 ]
 
 # openstackdocstheme options
-repository_name = 'openstack/oslo.vmware'
-bug_project = 'oslo.vmware'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/oslo.vmware'
+openstackdocs_bug_project = 'oslo.vmware'
+openstackdocs_bug_tag = ''
+openstackdocs_auto_name = False
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -146,10 +147,6 @@
 # directly to the root of the documentation.
 # html_extra_path = []
 
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
-
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
 # html_use_smartypants = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/releasenotes/source/index.rst 
new/oslo.vmware-3.7.0/releasenotes/source/index.rst
--- old/oslo.vmware-3.3.1/releasenotes/source/index.rst 2020-04-07 
12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/releasenotes/source/index.rst 2020-09-11 
21:19:36.000000000 +0200
@@ -6,6 +6,7 @@
     :maxdepth: 1
 
     unreleased
+    ussuri
     train
     stein
     rocky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.vmware-3.3.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
 
new/oslo.vmware-3.7.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
--- 
old/oslo.vmware-3.3.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
  2020-04-07 12:12:11.000000000 +0200
+++ 
new/oslo.vmware-3.7.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
  2020-09-11 21:19:36.000000000 +0200
@@ -1,15 +1,16 @@
 # Andi Chandler <a...@gowling.com>, 2016. #zanata
 # Andi Chandler <a...@gowling.com>, 2017. #zanata
 # Andi Chandler <a...@gowling.com>, 2018. #zanata
+# Andi Chandler <a...@gowling.com>, 2020. #zanata
 msgid ""
 msgstr ""
-"Project-Id-Version: oslo.vmware\n"
+"Project-Id-Version: oslo.vmware Release Notes\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-13 07:06+0000\n"
+"POT-Creation-Date: 2020-05-19 14:35+0000\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-08-08 07:53+0000\n"
+"PO-Revision-Date: 2020-05-04 09:28+0000\n"
 "Last-Translator: Andi Chandler <a...@gowling.com>\n"
 "Language-Team: English (United Kingdom)\n"
 "Language: en_GB\n"
@@ -19,6 +20,9 @@
 msgid "2.8.0"
 msgstr "2.8.0"
 
+msgid "3.0.0"
+msgstr "3.0.0"
+
 msgid "Newton Series Release Notes"
 msgstr "Newton Series Release Notes"
 
@@ -37,11 +41,30 @@
 msgid "Rocky Series Release Notes"
 msgstr "Rocky Series Release Notes"
 
+msgid "Stein Series Release Notes"
+msgstr "Stein Series Release Notes"
+
+msgid ""
+"Support for Python 2.7 has been dropped. The minimum version of Python now "
+"supported is Python 3.6."
+msgstr ""
+"Support for Python 2.7 has been dropped. The minimum version of Python now "
+"supported is Python 3.6."
+
 msgid "Switch to reno for managing release notes."
 msgstr "Switch to reno for managing release notes."
 
+msgid "Train Series Release Notes"
+msgstr "Train Series Release Notes"
+
 msgid "Unreleased Release Notes"
 msgstr "Unreleased Release Notes"
 
+msgid "Upgrade Notes"
+msgstr "Upgrade Notes"
+
+msgid "Ussuri Series Release Notes"
+msgstr "Ussuri Series Release Notes"
+
 msgid "oslo.vmware Release Notes"
 msgstr "oslo.vmware Release Notes"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/releasenotes/source/ussuri.rst 
new/oslo.vmware-3.7.0/releasenotes/source/ussuri.rst
--- old/oslo.vmware-3.3.1/releasenotes/source/ussuri.rst        1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.vmware-3.7.0/releasenotes/source/ussuri.rst        2020-09-11 
21:19:36.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/oslo.vmware-3.3.1/requirements.txt 
new/oslo.vmware-3.7.0/requirements.txt
--- old/oslo.vmware-3.3.1/requirements.txt      2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/requirements.txt      2020-09-11 21:19:36.000000000 
+0200
@@ -11,9 +11,9 @@
 oslo.utils>=3.33.0 # Apache-2.0
 
 # for the routing notifier
-PyYAML>=3.12 # MIT
+PyYAML>=3.13 # MIT
 
-lxml!=3.7.0,>=3.4.1 # BSD
+lxml>=4.5.0 # BSD
 suds-jurko>=0.6 # LGPLv3+
 eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
 requests>=2.14.2 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/setup.cfg 
new/oslo.vmware-3.7.0/setup.cfg
--- old/oslo.vmware-3.3.1/setup.cfg     2020-04-07 12:13:24.000000000 +0200
+++ new/oslo.vmware-3.7.0/setup.cfg     2020-09-11 21:21:08.000000000 +0200
@@ -17,6 +17,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
 
@@ -24,20 +25,6 @@
 packages = 
        oslo_vmware
 
-[compile_catalog]
-directory = oslo_vmware/locale
-domain = oslo_vmware
-
-[update_catalog]
-domain = oslo_vmware
-output_dir = oslo_vmware/locale
-input_file = oslo_vmware/locale/oslo_vmware.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = oslo_vmware/locale/oslo_vmware.pot
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/test-requirements.txt 
new/oslo.vmware-3.7.0/test-requirements.txt
--- old/oslo.vmware-3.3.1/test-requirements.txt 2020-04-07 12:12:11.000000000 
+0200
+++ new/oslo.vmware-3.7.0/test-requirements.txt 2020-09-11 21:19:36.000000000 
+0200
@@ -3,7 +3,7 @@
 # process, which may cause wedges in the gate later.
 
 # Hacking already pins down pep8, pyflakes and flake8
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
 
 fixtures>=3.0.0 # Apache-2.0/BSD
 testtools>=2.2.0 # MIT
@@ -13,6 +13,6 @@
 #  [testenv:cover]
 #  deps = {[testenv]deps} coverage
 coverage!=4.4,>=4.0 # Apache-2.0
-bandit>=1.1.0 # Apache-2.0
+bandit>=1.6.0,<1.7.0 # Apache-2.0
 ddt>=1.0.1 # MIT
 oslo.context>=2.19.2 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.vmware-3.3.1/tox.ini 
new/oslo.vmware-3.7.0/tox.ini
--- old/oslo.vmware-3.3.1/tox.ini       2020-04-07 12:12:11.000000000 +0200
+++ new/oslo.vmware-3.7.0/tox.ini       2020-09-11 21:19:36.000000000 +0200
@@ -1,6 +1,6 @@
 [tox]
 minversion = 3.2.0
-envlist = py37,pep8
+envlist = py38,pep8
 ignore_basepython_conflict = true
 
 [testenv]


Reply via email to