<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-openstackclient.git, branch ussuri-em</title>
<subtitle>opendev.org: openstack/python-openstackclient
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/'/>
<entry>
<title>Merge "zuul: Stop testing against Tempest" into stable/ussuri</title>
<updated>2021-06-02T15:33:35+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2021-06-02T15:33:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=c827e70fc502f5c5bd14f35d10ede6c9c5901c25'/>
<id>c827e70fc502f5c5bd14f35d10ede6c9c5901c25</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix reverted osc-lib interface change</title>
<updated>2021-01-21T14:26:33+00:00</updated>
<author>
<name>Roger Luethi</name>
<email>rl@patchworkscience.org</email>
</author>
<published>2020-07-23T11:20:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=0a8d855764c049be983ece4aaad02eea866da09e'/>
<id>0a8d855764c049be983ece4aaad02eea866da09e</id>
<content type='text'>
The patch https://review.opendev.org/#/c/673389/ introduced a regression
by changing the osc-lib interface.

Two conflicting attempts to fix the regression were launched:

1) Reverting the patch.

2) The patch https://review.opendev.org/683119 changes the exception
   from the generic CommandError back to a specific Forbidden exception.

   The patch https://review.opendev.org/683118 catches this exception
   and passes on, i.e. re-implements the same behavior as before.

The first idea was implemented, the initial patch reverted. The second
idea was partially implemented. The change in python-openstackclient
(683118) was merged. The change in osc-lib was approved but failed to
merge because the initial change had been reverted.

Now we have again a situation where the exception produced in osc-lib
does not match the exception expected by the caller.

It is unclear if the osc-lib interface will ever get a rebased version
of https://review.opendev.org/683119 merged, so the safest way to
address the issue is to also catch the exception that used to be
thrown before the inital change and is again thrown after the inital
change has been reverted.

Change-Id: I2ea2def607ec5be112e42d53a1e660fef0cdd69c
(cherry picked from commit 0a8753dc3eaeda25554ccd769350de1e9792a62b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The patch https://review.opendev.org/#/c/673389/ introduced a regression
by changing the osc-lib interface.

Two conflicting attempts to fix the regression were launched:

1) Reverting the patch.

2) The patch https://review.opendev.org/683119 changes the exception
   from the generic CommandError back to a specific Forbidden exception.

   The patch https://review.opendev.org/683118 catches this exception
   and passes on, i.e. re-implements the same behavior as before.

The first idea was implemented, the initial patch reverted. The second
idea was partially implemented. The change in python-openstackclient
(683118) was merged. The change in osc-lib was approved but failed to
merge because the initial change had been reverted.

Now we have again a situation where the exception produced in osc-lib
does not match the exception expected by the caller.

It is unclear if the osc-lib interface will ever get a rebased version
of https://review.opendev.org/683119 merged, so the safest way to
address the issue is to also catch the exception that used to be
thrown before the inital change and is again thrown after the inital
change has been reverted.

Change-Id: I2ea2def607ec5be112e42d53a1e660fef0cdd69c
(cherry picked from commit 0a8753dc3eaeda25554ccd769350de1e9792a62b)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix lower-constraints job</title>
<updated>2021-01-21T14:21:13+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>sfinucan@redhat.com</email>
</author>
<published>2020-12-08T10:20:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=595139cee783518cccd15125925012a3209a76f9'/>
<id>595139cee783518cccd15125925012a3209a76f9</id>
<content type='text'>
pip 20.3 finally includes a proper dependency resolver. Its use is
causing the following error messages on the lower-constraints job:

  ERROR: Cannot install ... because these package versions have
  conflicting dependencies.

  The conflict is caused by:
      bandit 1.1.0 depends on PyYAML&gt;=3.1.0
      cliff 3.4.0 depends on PyYAML&gt;=3.12
      openstacksdk 0.52.0 depends on PyYAML&gt;=3.13

Bump our lower constraint for PyYAML to resolve this issue. With that
resolved, we see a new issue:

  ERROR: Could not find a version that satisfies the requirement
  cryptography&gt;=2.7 (from openstacksdk)
  ERROR: No matching distribution found for cryptography&gt;=2.7

This is less self-explanatory but looking at the lower-constraints for
openstacksdk 0.52.0 shows a dependency on cryptography 2.7 [1], meaning
we need to bump this also.

Next up, flake8-import-order seems to cause the dependency resolver to
go nuts, eventually ending with the following error message in a Python
3.6 environment:

  Using cached enum34-1.1.2.zip (49 kB)
    ERROR: Command errored out with exit status 1:
     command: ...
         cwd: ...
    Complete output (9 lines):
    Traceback (most recent call last):
      File "&lt;string&gt;", line 1, in &lt;module&gt;
      File ".../lib/python3.6/site-packages/setuptools/__init__.py", line 7, in &lt;module&gt;
        import setuptools.distutils_patch  # noqa: F401
      File ".../lib/python3.6/site-packages/setuptools/distutils_patch.py", line 9, in &lt;module&gt;
        import re
      File "/usr/lib64/python3.6/re.py", line 142, in &lt;module&gt;
        class RegexFlag(enum.IntFlag):
    AttributeError: module 'enum' has no attribute 'IntFlag'
    ----------------------------------------

A quick Google suggests this is because the enum34 package is not
complete [2]. We shouldn't even be using it since our base virtualenv
should at least use Python 3.6, but I guess some dependency doesn't
properly restrict the dependency to &lt;= Python 3.4. This is moved from
'test-requirements.txt' to 'tox.ini' since we don't need to use our
constraints machinery for linters.

Finally, the versions of bandit and hacking that pip is bringing in both
requires in a newer version of babel, which in turn requires a new
version of pytz.

  Collecting hacking&gt;=2.0.0
  ...
  ERROR: Cannot install oslo.i18n because these package versions have
  conflicting dependencies.
  The conflict is caused by:
      babel 2.9.0 depends on pytz&gt;=2015.7
      babel 2.8.1 depends on pytz&gt;=2015.7
      babel 2.8.0 depends on pytz&gt;=2015.7
      babel 2.7.0 depends on pytz&gt;=2015.7

Seeing as we shouldn't be tracking bandit in
lower-constraints, I'm not sure why we're want to bump these
dependencies for just that. As above, we move these dependencies out of
'test-requirements' and into 'tox.ini' since we can do that for linters.

Conflicts:
  lower-constraints.txt
  test-requirements.txt

NOTE(stephenfin): Conflicts are due to the absence of ddt and presence
of mock in lower-constraints.txt and test-requirements.txt,
respectively.

Modifications:
  lower-constraints.txt

NOTE(stephenfin): There's no need to bump cryptography here since we're
using an older version of openstacksdk.

[1] https://opendev.org/openstack/openstacksdk/src/tag/0.52.0/requirements.txt#L19
[2] https://github.com/iterative/dvc/issues/1995#issuecomment-491889669

Change-Id: I8ec738fbcabc8d8553db79a876e5592576cd18fa
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 20769cd7b27d51da84a324a17922427eba5c6eac)
(cherry picked from commit 83cd9b5b9c3b4c471b41190675f880599b78e44e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pip 20.3 finally includes a proper dependency resolver. Its use is
causing the following error messages on the lower-constraints job:

  ERROR: Cannot install ... because these package versions have
  conflicting dependencies.

  The conflict is caused by:
      bandit 1.1.0 depends on PyYAML&gt;=3.1.0
      cliff 3.4.0 depends on PyYAML&gt;=3.12
      openstacksdk 0.52.0 depends on PyYAML&gt;=3.13

Bump our lower constraint for PyYAML to resolve this issue. With that
resolved, we see a new issue:

  ERROR: Could not find a version that satisfies the requirement
  cryptography&gt;=2.7 (from openstacksdk)
  ERROR: No matching distribution found for cryptography&gt;=2.7

This is less self-explanatory but looking at the lower-constraints for
openstacksdk 0.52.0 shows a dependency on cryptography 2.7 [1], meaning
we need to bump this also.

Next up, flake8-import-order seems to cause the dependency resolver to
go nuts, eventually ending with the following error message in a Python
3.6 environment:

  Using cached enum34-1.1.2.zip (49 kB)
    ERROR: Command errored out with exit status 1:
     command: ...
         cwd: ...
    Complete output (9 lines):
    Traceback (most recent call last):
      File "&lt;string&gt;", line 1, in &lt;module&gt;
      File ".../lib/python3.6/site-packages/setuptools/__init__.py", line 7, in &lt;module&gt;
        import setuptools.distutils_patch  # noqa: F401
      File ".../lib/python3.6/site-packages/setuptools/distutils_patch.py", line 9, in &lt;module&gt;
        import re
      File "/usr/lib64/python3.6/re.py", line 142, in &lt;module&gt;
        class RegexFlag(enum.IntFlag):
    AttributeError: module 'enum' has no attribute 'IntFlag'
    ----------------------------------------

A quick Google suggests this is because the enum34 package is not
complete [2]. We shouldn't even be using it since our base virtualenv
should at least use Python 3.6, but I guess some dependency doesn't
properly restrict the dependency to &lt;= Python 3.4. This is moved from
'test-requirements.txt' to 'tox.ini' since we don't need to use our
constraints machinery for linters.

Finally, the versions of bandit and hacking that pip is bringing in both
requires in a newer version of babel, which in turn requires a new
version of pytz.

  Collecting hacking&gt;=2.0.0
  ...
  ERROR: Cannot install oslo.i18n because these package versions have
  conflicting dependencies.
  The conflict is caused by:
      babel 2.9.0 depends on pytz&gt;=2015.7
      babel 2.8.1 depends on pytz&gt;=2015.7
      babel 2.8.0 depends on pytz&gt;=2015.7
      babel 2.7.0 depends on pytz&gt;=2015.7

Seeing as we shouldn't be tracking bandit in
lower-constraints, I'm not sure why we're want to bump these
dependencies for just that. As above, we move these dependencies out of
'test-requirements' and into 'tox.ini' since we can do that for linters.

Conflicts:
  lower-constraints.txt
  test-requirements.txt

NOTE(stephenfin): Conflicts are due to the absence of ddt and presence
of mock in lower-constraints.txt and test-requirements.txt,
respectively.

Modifications:
  lower-constraints.txt

NOTE(stephenfin): There's no need to bump cryptography here since we're
using an older version of openstacksdk.

[1] https://opendev.org/openstack/openstacksdk/src/tag/0.52.0/requirements.txt#L19
[2] https://github.com/iterative/dvc/issues/1995#issuecomment-491889669

Change-Id: I8ec738fbcabc8d8553db79a876e5592576cd18fa
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 20769cd7b27d51da84a324a17922427eba5c6eac)
(cherry picked from commit 83cd9b5b9c3b4c471b41190675f880599b78e44e)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Bypass user and group verification in RemoveRole" into stable/ussuri</title>
<updated>2020-11-11T21:21:54+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-11-11T21:21:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=789cfb10006e474326bd9ea6fd1bf44b9c252239'/>
<id>789cfb10006e474326bd9ea6fd1bf44b9c252239</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Add system role assignment tests for users and groups" into stable/ussuri</title>
<updated>2020-11-02T20:34:06+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-11-02T20:34:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=a53d513a96abab1b5f9839bc2e651d9cb8d55f88'/>
<id>a53d513a96abab1b5f9839bc2e651d9cb8d55f88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>zuul: Stop testing against Tempest</title>
<updated>2020-10-29T11:45:15+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>sfinucan@redhat.com</email>
</author>
<published>2020-10-12T16:25:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=ec2f0f4009be189b7afdcc40be3f976c92049e4e'/>
<id>ec2f0f4009be189b7afdcc40be3f976c92049e4e</id>
<content type='text'>
Neither Tempest itself nor any of the service projects use OSC. As such,
there's no reason to run Tempest jobs here. It's simply a waste of
resources.

Change-Id: I74b0b196fe59e5e1462e3dadc659cf6680a53f80
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 671f73694a207b4b2b5a7cf377bc46dad7e79324)
(cherry picked from commit 75847d1e968977d504420a8990f724e4917c2f4f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Neither Tempest itself nor any of the service projects use OSC. As such,
there's no reason to run Tempest jobs here. It's simply a waste of
resources.

Change-Id: I74b0b196fe59e5e1462e3dadc659cf6680a53f80
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 671f73694a207b4b2b5a7cf377bc46dad7e79324)
(cherry picked from commit 75847d1e968977d504420a8990f724e4917c2f4f)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Add API check for server_groups.list" into stable/ussuri</title>
<updated>2020-10-14T06:23:25+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-10-14T06:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=2a89fc3e7572b39e81c5e5fbfab5da6c7a98ba7b'/>
<id>2a89fc3e7572b39e81c5e5fbfab5da6c7a98ba7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add API check for server_groups.list</title>
<updated>2020-10-02T22:38:20+00:00</updated>
<author>
<name>Lewis Denny</name>
<email>ldenny@redhat.com</email>
</author>
<published>2020-08-20T10:18:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=e7ba80d2097345b730d080ab8b020f1c04fb77d8'/>
<id>e7ba80d2097345b730d080ab8b020f1c04fb77d8</id>
<content type='text'>
The policies parameter has been replaced with the
policy parameter since Nova API version 2.64[1]

This commit adds a check to make sure the correct parameter is used.

[1]https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id59

Change-Id: Ia37beb7790884d6d15bec45074f446e64af1a2aa
Story: #2008041
Task: #40703
(cherry picked from commit ed6d8d941104c60f447de852582eb9388b9d2e73)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The policies parameter has been replaced with the
policy parameter since Nova API version 2.64[1]

This commit adds a check to make sure the correct parameter is used.

[1]https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id59

Change-Id: Ia37beb7790884d6d15bec45074f446e64af1a2aa
Story: #2008041
Task: #40703
(cherry picked from commit ed6d8d941104c60f447de852582eb9388b9d2e73)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add API check for server_groups.create</title>
<updated>2020-10-02T22:17:25+00:00</updated>
<author>
<name>Lewis</name>
<email>ldenny@redhat.com</email>
</author>
<published>2020-10-02T22:17:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=441f116b0c9e8d0b7e916b3c026f8a2244b4edc7'/>
<id>441f116b0c9e8d0b7e916b3c026f8a2244b4edc7</id>
<content type='text'>
The policies field has been replaced with the
policy field since Nova API version 2.64[1]

This commit adds a check to make sure the correct field is used.

[1]https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id59

Change-Id: I06d3211937d822c26070b7f8ad757c365dcbb1bb
Story: #2007822
Task: #40101
(cherry picked from commit 51a1ea65f4d095b073381200e5268f909bf360de)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The policies field has been replaced with the
policy field since Nova API version 2.64[1]

This commit adds a check to make sure the correct field is used.

[1]https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id59

Change-Id: I06d3211937d822c26070b7f8ad757c365dcbb1bb
Story: #2007822
Task: #40101
(cherry picked from commit 51a1ea65f4d095b073381200e5268f909bf360de)
</pre>
</div>
</content>
</entry>
<entry>
<title>Bypass user and group verification in RemoveRole</title>
<updated>2020-08-19T15:49:55+00:00</updated>
<author>
<name>Lance Bragstad</name>
<email>lbragstad@gmail.com</email>
</author>
<published>2020-07-09T22:07:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=b30843cee35e50e516a41a48bcbe00dd2c1639f4'/>
<id>b30843cee35e50e516a41a48bcbe00dd2c1639f4</id>
<content type='text'>
Keystone let's users remove role assignments that reference non-existent
users and groups. This is nice when keystone backs to an identity store
like LDAP and users or groups are removed.

Previously, openstackclient would validate the user and group existed in
keystone before sending the request to delete the role assignment. This
commit updates the code to bypass that validation so that users can use
IDs to forcibly cleanup role assignments.

Change-Id: I102b41677736bbe37a82abaa3c5b3e1faf2475d5
Story: 2006635
Task: 36848
(cherry picked from commit e24673267093de85beee753860cda1fb224ce4bc)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keystone let's users remove role assignments that reference non-existent
users and groups. This is nice when keystone backs to an identity store
like LDAP and users or groups are removed.

Previously, openstackclient would validate the user and group existed in
keystone before sending the request to delete the role assignment. This
commit updates the code to bypass that validation so that users can use
IDs to forcibly cleanup role assignments.

Change-Id: I102b41677736bbe37a82abaa3c5b3e1faf2475d5
Story: 2006635
Task: 36848
(cherry picked from commit e24673267093de85beee753860cda1fb224ce4bc)
</pre>
</div>
</content>
</entry>
</feed>
