<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-openstackclient.git/releasenotes, branch queens-eol</title>
<subtitle>opendev.org: openstack/python-openstackclient
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/'/>
<entry>
<title>Merge "Fix server show for microversion 2.47" into stable/queens</title>
<updated>2020-07-22T12:39:19+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-07-22T12:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=fd85a3cde361a8e3eae7bd9e0760150459afe5c2'/>
<id>fd85a3cde361a8e3eae7bd9e0760150459afe5c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix server show for microversion 2.47</title>
<updated>2020-07-21T17:20:32+00:00</updated>
<author>
<name>Matt Riedemann</name>
<email>mriedem.os@gmail.com</email>
</author>
<published>2018-06-08T18:43:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=1c754197b58a28e9d30ae158560bd9921e7a8e9c'/>
<id>1c754197b58a28e9d30ae158560bd9921e7a8e9c</id>
<content type='text'>
Compute API version 2.47 embeds the server's internal
flavor in the response. The original flavor id is not
preserved since it could have changed if the flavor
was deleted and re-created after the server was created,
which was the dreaded Horizon "Edit Flavor" issue.
So the flavor dict in the server response is a dict of
information about the flavor representing the server
"right now" excluding the id. The original flavor name
is shown though along with the ram/disk/vcpu etc
information.

The server list command has a similar issue which
will be fixed in a follow up change.

Change-Id: I1a92999758006d02567c542b6be8902a049899cc
Task: 13864
Story: 1751104
(cherry picked from commit da7572a5ff9f54dbab4f8328632c562a2816a4fb)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Compute API version 2.47 embeds the server's internal
flavor in the response. The original flavor id is not
preserved since it could have changed if the flavor
was deleted and re-created after the server was created,
which was the dreaded Horizon "Edit Flavor" issue.
So the flavor dict in the server response is a dict of
information about the flavor representing the server
"right now" excluding the id. The original flavor name
is shown though along with the ram/disk/vcpu etc
information.

The server list command has a similar issue which
will be fixed in a follow up change.

Change-Id: I1a92999758006d02567c542b6be8902a049899cc
Task: 13864
Story: 1751104
(cherry picked from commit da7572a5ff9f54dbab4f8328632c562a2816a4fb)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add --name-lookup-one-by-one option to server list</title>
<updated>2020-07-21T03:26:42+00:00</updated>
<author>
<name>Pavlo Shchelokovskyy</name>
<email>shchelokovskyy@gmail.com</email>
</author>
<published>2018-05-14T18:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=defa0f562b8efc8fc917f1b195c998e2d6224260'/>
<id>defa0f562b8efc8fc917f1b195c998e2d6224260</id>
<content type='text'>
usually in a big cloud there are many images and flavors,
while each given project might use only some of those.

This patch introduces '--name-lookup-one-by-one' argument to
server list command (mutually exclusive with '--no-name-lookup')

When provided (or either '--image' or '--flavor' is specified) to the
`server list` command, name resolving for
corresponding entity is now using targeted GET commands instead of
full entities list.

In some situations this can significantly speedup the execution of the
`server list` command by reducing the number of API requests performed.

 Conflicts:
	openstackclient/compute/v2/server.py

NOTE(melwitt): The conflict is due to change
I93a56138c50b82fb4dce67a2f788107f71c5f423 which is not in Queens.

Change-Id: I59cbf3f75c55e5d3747654edcc9be86ad954cf40
Story: #2002039
Task: #19682
(cherry picked from commit e782f49927a6b142a35f85a1a4a759fd2b1ceedf)
(cherry picked from commit dda007ba33b5c7d1ae539926b826749727276e3c)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
usually in a big cloud there are many images and flavors,
while each given project might use only some of those.

This patch introduces '--name-lookup-one-by-one' argument to
server list command (mutually exclusive with '--no-name-lookup')

When provided (or either '--image' or '--flavor' is specified) to the
`server list` command, name resolving for
corresponding entity is now using targeted GET commands instead of
full entities list.

In some situations this can significantly speedup the execution of the
`server list` command by reducing the number of API requests performed.

 Conflicts:
	openstackclient/compute/v2/server.py

NOTE(melwitt): The conflict is due to change
I93a56138c50b82fb4dce67a2f788107f71c5f423 which is not in Queens.

Change-Id: I59cbf3f75c55e5d3747654edcc9be86ad954cf40
Story: #2002039
Task: #19682
(cherry picked from commit e782f49927a6b142a35f85a1a4a759fd2b1ceedf)
(cherry picked from commit dda007ba33b5c7d1ae539926b826749727276e3c)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix functional tests for py3</title>
<updated>2020-07-21T03:25:22+00:00</updated>
<author>
<name>Eric Fried</name>
<email>openstack@fried.cc</email>
</author>
<published>2019-10-29T20:55:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=3228713ea302a962c11eb96ce34918b94528205e'/>
<id>3228713ea302a962c11eb96ce34918b94528205e</id>
<content type='text'>
Fix various things so the functional tests will work under python3:

- A hashlib.md5() can only be update()d with an encoded string in py3.
- There's no dict.iteritems(), change to dict.items() (which is already
  an iterator).
- Open temp files with 'w+' mode rather than the default 'w+b' (as an
  alternative to encoding all the write and expected-read payloads as
  bytes).
- (This is a weird one) Explicitly raise SkipTest from unittest (rather
  than unittest2, which is where cls.skipException landed). Not sure why
  this is busted, but this moves the ball.

Conflict/issue with raising SkipTest on this branch.

(cherry picked from commit f1d742f32adeb662a3fdf8fa3ef3bc391e71ed81)
(cherry picked from commit b866202f54afddca66a77cd989b082e193a96956)

Includes squash of:
Before writing object data to stdout, re-open it in binary mode

Otherwise, you can hit TypeErrors on Python3.

Closes-Bug: 1775482
(cherry picked from commit 415b48056d9d021e04ec972029040a89a6b13928)

Conflicts:
    openstackclient/tests/functional/identity/v3/common.py

NOTE(melwitt): The conflicts are due to the following changes not in
Queens:

  Id8377363f7a3248b45aeeba21d2acc02684a0305
  I7c44bbb60557378b66c5c43a7ba917f40dc2b633

Change-Id: Ic9b2b47848a600e87a3674289ae7ae8c3e091fee
(cherry picked from commit 47f0277208362a3224f8e587bbdd60dd5aebf846)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix various things so the functional tests will work under python3:

- A hashlib.md5() can only be update()d with an encoded string in py3.
- There's no dict.iteritems(), change to dict.items() (which is already
  an iterator).
- Open temp files with 'w+' mode rather than the default 'w+b' (as an
  alternative to encoding all the write and expected-read payloads as
  bytes).
- (This is a weird one) Explicitly raise SkipTest from unittest (rather
  than unittest2, which is where cls.skipException landed). Not sure why
  this is busted, but this moves the ball.

Conflict/issue with raising SkipTest on this branch.

(cherry picked from commit f1d742f32adeb662a3fdf8fa3ef3bc391e71ed81)
(cherry picked from commit b866202f54afddca66a77cd989b082e193a96956)

Includes squash of:
Before writing object data to stdout, re-open it in binary mode

Otherwise, you can hit TypeErrors on Python3.

Closes-Bug: 1775482
(cherry picked from commit 415b48056d9d021e04ec972029040a89a6b13928)

Conflicts:
    openstackclient/tests/functional/identity/v3/common.py

NOTE(melwitt): The conflicts are due to the following changes not in
Queens:

  Id8377363f7a3248b45aeeba21d2acc02684a0305
  I7c44bbb60557378b66c5c43a7ba917f40dc2b633

Change-Id: Ic9b2b47848a600e87a3674289ae7ae8c3e091fee
(cherry picked from commit 47f0277208362a3224f8e587bbdd60dd5aebf846)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compute service set handling for 2.53+</title>
<updated>2019-09-25T10:39:03+00:00</updated>
<author>
<name>Matt Riedemann</name>
<email>mriedem.os@gmail.com</email>
</author>
<published>2019-07-24T18:39:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=492a6c400169689182c077df5543f5ec1e481369'/>
<id>492a6c400169689182c077df5543f5ec1e481369</id>
<content type='text'>
With compute API microversion 2.53 there is a single
PUT /os-services/{service_id} API which takes the service
id as a UUID. Since the openstack compute service set
command only takes --host and --service (binary) to identify
the service, this change checks if 2.53 or greater is being
used and if so, looks up the service by host and binary and
calls the appropriate methods in novaclient.

If the command cannot uniquely identify a compute service
with the given host and binary, an error is raised. A future
change could add an --id option to be used with 2.53+ to
pass the service id (as UUID) directly to avoid the host/binary
filtering.

Conflicts:
    openstackclient/compute/v2/service.py
Note(elod.illes): conflict is due to missing patch on stable/queens:
I0a87e02e71ff025d30181fc17ebcd003a590f110

Change-Id: I868e0868e8eb17e7e34eef3d2d58dceedd29c2b0
Story: 2005349
Task: 30302
(cherry picked from commit 4bd53dc1090fda86f6ce25b76a079e250c9206d8)
(cherry picked from commit 100d34c54ecdfedf6fb40a2686e1aae1f54df97e)
(cherry picked from commit fc5f2978c0f4f1e3360325b00c1f1b99f1e6318f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With compute API microversion 2.53 there is a single
PUT /os-services/{service_id} API which takes the service
id as a UUID. Since the openstack compute service set
command only takes --host and --service (binary) to identify
the service, this change checks if 2.53 or greater is being
used and if so, looks up the service by host and binary and
calls the appropriate methods in novaclient.

If the command cannot uniquely identify a compute service
with the given host and binary, an error is raised. A future
change could add an --id option to be used with 2.53+ to
pass the service id (as UUID) directly to avoid the host/binary
filtering.

Conflicts:
    openstackclient/compute/v2/service.py
Note(elod.illes): conflict is due to missing patch on stable/queens:
I0a87e02e71ff025d30181fc17ebcd003a590f110

Change-Id: I868e0868e8eb17e7e34eef3d2d58dceedd29c2b0
Story: 2005349
Task: 30302
(cherry picked from commit 4bd53dc1090fda86f6ce25b76a079e250c9206d8)
(cherry picked from commit 100d34c54ecdfedf6fb40a2686e1aae1f54df97e)
(cherry picked from commit fc5f2978c0f4f1e3360325b00c1f1b99f1e6318f)
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle multiple ports in AddFloatingIP</title>
<updated>2018-11-08T20:44:40+00:00</updated>
<author>
<name>melanie witt</name>
<email>melwittt@gmail.com</email>
</author>
<published>2018-11-02T22:27:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=010da92ff3711873e40c0f5a1c262010400bf53b'/>
<id>010da92ff3711873e40c0f5a1c262010400bf53b</id>
<content type='text'>
AddFloatingIP refers to an old nova proxy API to neutron that was
deprecated in nova. The neutron API for floating IP associate requires
a port to be specified. Currently, the code is selecting the first port
if the server has multiple ports. But, an attempt to associate the
first port with a floating IP can fail if the first port is not on a
network that is attached to an external gateway.

In order to make the command work better for users who have a server
with multiple ports, we can:

  1. Select the port corresponding to the fixed_ip_address, if one was
     specified

  2. Try to associate the floating IP with each port until one of the
     attempts succeeds, else re-raise the last exception.
     (404 ExternalGatewayForFloatingIPNotFound from neutron)

This also fixes incorrect FakeFloatingIP attributes that were being set
in the TestServerAddFloatingIPNetwork unit tests, which were causing
the tests to use None as parsed args for ip-address and
--fixed-ip-address and thus bypassing code in the
'if parsed_args.fixed_ip_address:' block.

Task: 27800
Story: 2004263

Change-Id: I11fbcebf6b00f12a030b000c84dcf1d6b5e86250
(cherry picked from commit 013c9a4f3a44cb0b81fc7affe9b933e701cb5dba)
(cherry picked from commit e09c358e7b35ac938595aad90c5c42dfe402a42a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AddFloatingIP refers to an old nova proxy API to neutron that was
deprecated in nova. The neutron API for floating IP associate requires
a port to be specified. Currently, the code is selecting the first port
if the server has multiple ports. But, an attempt to associate the
first port with a floating IP can fail if the first port is not on a
network that is attached to an external gateway.

In order to make the command work better for users who have a server
with multiple ports, we can:

  1. Select the port corresponding to the fixed_ip_address, if one was
     specified

  2. Try to associate the floating IP with each port until one of the
     attempts succeeds, else re-raise the last exception.
     (404 ExternalGatewayForFloatingIPNotFound from neutron)

This also fixes incorrect FakeFloatingIP attributes that were being set
in the TestServerAddFloatingIPNetwork unit tests, which were causing
the tests to use None as parsed args for ip-address and
--fixed-ip-address and thus bypassing code in the
'if parsed_args.fixed_ip_address:' block.

Task: 27800
Story: 2004263

Change-Id: I11fbcebf6b00f12a030b000c84dcf1d6b5e86250
(cherry picked from commit 013c9a4f3a44cb0b81fc7affe9b933e701cb5dba)
(cherry picked from commit e09c358e7b35ac938595aad90c5c42dfe402a42a)
</pre>
</div>
</content>
</entry>
<entry>
<title>neutron: add --mtu for create/set network</title>
<updated>2018-03-26T14:26:53+00:00</updated>
<author>
<name>Emilien Macchi</name>
<email>emilien@redhat.com</email>
</author>
<published>2018-03-15T12:21:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=a3caf7b331709d76fc6aec5222c60688fd6112a9'/>
<id>a3caf7b331709d76fc6aec5222c60688fd6112a9</id>
<content type='text'>
Support Neutron network mtu configuration with a new argument, --mtu
that allows CLI users to set MTU for Neutron networks.

Change-Id: I93d23581c7e8c84eaf9bb3b293360036f60f456b
(cherry picked from commit 18563b4132f794cc6612c2897795f96a31b565ae)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support Neutron network mtu configuration with a new argument, --mtu
that allows CLI users to set MTU for Neutron networks.

Change-Id: I93d23581c7e8c84eaf9bb3b293360036f60f456b
(cherry picked from commit 18563b4132f794cc6612c2897795f96a31b565ae)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Check that Glance returns image data before processing it"</title>
<updated>2018-01-22T17:56:29+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.openstack.org</email>
</author>
<published>2018-01-22T17:56:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=fba356b3e5cb5247b7cd4b53a503767fbc04fb42'/>
<id>fba356b3e5cb5247b7cd4b53a503767fbc04fb42</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 floating IP qos_policy actions"</title>
<updated>2018-01-11T21:03:18+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.openstack.org</email>
</author>
<published>2018-01-11T21:03:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=8abf6bf5ba389a0ebbd202d69d0dbf8b64bb30d6'/>
<id>8abf6bf5ba389a0ebbd202d69d0dbf8b64bb30d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add floating IP qos_policy actions</title>
<updated>2018-01-11T18:10:11+00:00</updated>
<author>
<name>LIU Yulong</name>
<email>i@liuyulong.me</email>
</author>
<published>2017-11-05T04:05:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/openstack/python-openstackclient.git/commit/?id=cf91d7a2f46b4a8546169a4836cc64476fce44d8'/>
<id>cf91d7a2f46b4a8546169a4836cc64476fce44d8</id>
<content type='text'>
Now we can associate a qos policy to the floating IP, and
dissociate it. The commands are:

  $ openstack floating ip create --qos-policy ...
  $ openstack floating ip set --qos-policy ...
  $ openstack floating ip set --no-qos-policy ...
  $ openstack floating ip unset --qos-policy

These commands are based on the neutron change:
I4efe9e49d268dffeb3df4de4ea1780152218633b

Partially-Implements blueprint: floating-ip-rate-limit

Change-Id: I932b32f78cc5a2b53926feaec1a0b392cf7e8b57
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now we can associate a qos policy to the floating IP, and
dissociate it. The commands are:

  $ openstack floating ip create --qos-policy ...
  $ openstack floating ip set --qos-policy ...
  $ openstack floating ip set --no-qos-policy ...
  $ openstack floating ip unset --qos-policy

These commands are based on the neutron change:
I4efe9e49d268dffeb3df4de4ea1780152218633b

Partially-Implements blueprint: floating-ip-rate-limit

Change-Id: I932b32f78cc5a2b53926feaec1a0b392cf7e8b57
</pre>
</div>
</content>
</entry>
</feed>
