<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-openstackclient.git/openstackclient/tests/common, branch 2.6.0</title>
<subtitle>opendev.org: openstack/python-openstackclient
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/'/>
<entry>
<title>Fix --enable options on commands</title>
<updated>2016-06-02T15:07:34+00:00</updated>
<author>
<name>Richard Theis</name>
<email>rtheis@us.ibm.com</email>
</author>
<published>2016-06-02T14:53:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=6f2c1734e3d66e261f231711455821321c1fc254'/>
<id>6f2c1734e3d66e261f231711455821321c1fc254</id>
<content type='text'>
The --enable option on commands is ignored when the arguments are parsed.
This is related to the --enable-beta-commands option. Renaming the option
to --os-beta-command fixes the problem.

There's no need to handle backwards compatibility for the option name
change because there hasn't been an OSC release yet with beta commands.

Change-Id: I0327ba8a2058858a83e9a42e231470ed733cc834
Closes-Bug: #1588384
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The --enable option on commands is ignored when the arguments are parsed.
This is related to the --enable-beta-commands option. Renaming the option
to --os-beta-command fixes the problem.

There's no need to handle backwards compatibility for the option name
change because there hasn't been an OSC release yet with beta commands.

Change-Id: I0327ba8a2058858a83e9a42e231470ed733cc834
Closes-Bug: #1588384
</pre>
</div>
</content>
</entry>
<entry>
<title>Add network support for "quota set"</title>
<updated>2016-05-19T12:42:59+00:00</updated>
<author>
<name>Fang Zhen</name>
<email>zhen.fang@easystack.cn</email>
</author>
<published>2016-03-14T11:27:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=b92cf77fb58b4aafcf4b3a1ef6b89fd15166505b'/>
<id>b92cf77fb58b4aafcf4b3a1ef6b89fd15166505b</id>
<content type='text'>
The "quota set" command support compute and volume quotas previously.
This patch add support network.

Partially-implements: blueprint neutron-client-quota
Closes-bug: 1489441

Change-Id: I9d297f52bc30614b3493f09ed15f8f1d3f8ff952
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "quota set" command support compute and volume quotas previously.
This patch add support network.

Partially-implements: blueprint neutron-client-quota
Closes-bug: 1489441

Change-Id: I9d297f52bc30614b3493f09ed15f8f1d3f8ff952
</pre>
</div>
</content>
</entry>
<entry>
<title>Support quota show for current project</title>
<updated>2016-04-21T16:33:24+00:00</updated>
<author>
<name>Richard Theis</name>
<email>rtheis@us.ibm.com</email>
</author>
<published>2016-04-21T16:33:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=27024d70af4756cb6e4b210b025ed7427541f773'/>
<id>27024d70af4756cb6e4b210b025ed7427541f773</id>
<content type='text'>
The "os quota show" command "&lt;project/class&gt;" argument is now
optional. If not specified, the user's current project is used.
This allows non-admin users to show quotas for their current
project.

Change-Id: I602d4cc09c9d29ce84271eff78137f8810cb1a47
Closes-Bug: #1572733
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "os quota show" command "&lt;project/class&gt;" argument is now
optional. If not specified, the user's current project is used.
This allows non-admin users to show quotas for their current
project.

Change-Id: I602d4cc09c9d29ce84271eff78137f8810cb1a47
Closes-Bug: #1572733
</pre>
</div>
</content>
</entry>
<entry>
<title>Propagate AttributeErrors when lazily loading plugins</title>
<updated>2016-04-15T04:12:35+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2016-04-14T21:18:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=926330d3726e9ce7001190730c69bf6ee45b422a'/>
<id>926330d3726e9ce7001190730c69bf6ee45b422a</id>
<content type='text'>
Previously, if an AttributeError was raised in a plugin's make_client
method, the plugin simply wouldn't be an attribute of the ClientManager,
producing tracebacks like

Traceback (most recent call last):
  File ".../openstackclient/shell.py", line 118, in run
    ret_val = super(OpenStackShell, self).run(argv)

  ...

  File ".../openstackclient/object/v1/container.py", line 150, in take_action
    data = self.app.client_manager.object_store.container_list(
  File ".../openstackclient/common/clientmanager.py", line 66, in __getattr__
    raise AttributeError(name)
AttributeError: object_store

This made writing minimal third-party auth plugins difficult, as it
obliterated the original AttributeError.

Now, AttributeErrors that are raised during plugin initialization will
be re-raised as PluginAttributeErrors, and the original traceback will
be preserved. This gives much more useful information to plugin
developers, as in

Traceback (most recent call last):
  File ".../openstackclient/shell.py", line 118, in run
    ret_val = super(OpenStackShell, self).run(argv)

  ...

  File ".../openstackclient/object/v1/container.py", line 150, in take_action
    data = self.app.client_manager.object_store.container_list(
  File ".../openstackclient/common/clientmanager.py", line 57, in __get__
    err_val, err_tb)
  File ".../openstackclient/common/clientmanager.py", line 51, in __get__
    self._handle = self.factory(instance)
  File ".../openstackclient/object/client.py", line 35, in make_client
    interface=instance._interface,
  File ".../openstackclient/common/clientmanager.py", line 258,
  in get_endpoint_for_service_type
    endpoint = self.auth_ref.service_catalog.url_for(
PluginAttributeError: 'NoneType' object has no attribute 'url_for'

Change-Id: I0eee7eba6eccc6d471a699a381185c4e76da10bd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if an AttributeError was raised in a plugin's make_client
method, the plugin simply wouldn't be an attribute of the ClientManager,
producing tracebacks like

Traceback (most recent call last):
  File ".../openstackclient/shell.py", line 118, in run
    ret_val = super(OpenStackShell, self).run(argv)

  ...

  File ".../openstackclient/object/v1/container.py", line 150, in take_action
    data = self.app.client_manager.object_store.container_list(
  File ".../openstackclient/common/clientmanager.py", line 66, in __getattr__
    raise AttributeError(name)
AttributeError: object_store

This made writing minimal third-party auth plugins difficult, as it
obliterated the original AttributeError.

Now, AttributeErrors that are raised during plugin initialization will
be re-raised as PluginAttributeErrors, and the original traceback will
be preserved. This gives much more useful information to plugin
developers, as in

Traceback (most recent call last):
  File ".../openstackclient/shell.py", line 118, in run
    ret_val = super(OpenStackShell, self).run(argv)

  ...

  File ".../openstackclient/object/v1/container.py", line 150, in take_action
    data = self.app.client_manager.object_store.container_list(
  File ".../openstackclient/common/clientmanager.py", line 57, in __get__
    err_val, err_tb)
  File ".../openstackclient/common/clientmanager.py", line 51, in __get__
    self._handle = self.factory(instance)
  File ".../openstackclient/object/client.py", line 35, in make_client
    interface=instance._interface,
  File ".../openstackclient/common/clientmanager.py", line 258,
  in get_endpoint_for_service_type
    endpoint = self.auth_ref.service_catalog.url_for(
PluginAttributeError: 'NoneType' object has no attribute 'url_for'

Change-Id: I0eee7eba6eccc6d471a699a381185c4e76da10bd
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Support client certificate/key"</title>
<updated>2016-04-06T21:42:56+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2016-04-06T21:42:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=0edab95fd1989dcc06a166a820b115a75dd17d54'/>
<id>0edab95fd1989dcc06a166a820b115a75dd17d54</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support client certificate/key</title>
<updated>2016-04-06T18:21:19+00:00</updated>
<author>
<name>Cedric Brandily</name>
<email>zzelle@gmail.com</email>
</author>
<published>2016-04-01T21:42:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=3a8320a1d73444b3bb823300e94c3e2ee85fd6ef'/>
<id>3a8320a1d73444b3bb823300e94c3e2ee85fd6ef</id>
<content type='text'>
This change enables to specify a client certificate/key with:
 * usual CLI options (--os-cert/--os-key)
 * usual environment variables ($OS_CERT/$OS_KEY)
 * os-client-config

Change-Id: Ibeaaa5897ae37b37c1e91f3e47076e4e8e4a8ded
Closes-Bug: #1565112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change enables to specify a client certificate/key with:
 * usual CLI options (--os-cert/--os-key)
 * usual environment variables ($OS_CERT/$OS_KEY)
 * os-client-config

Change-Id: Ibeaaa5897ae37b37c1e91f3e47076e4e8e4a8ded
Closes-Bug: #1565112
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't mask authorization errors</title>
<updated>2016-04-01T20:44:33+00:00</updated>
<author>
<name>Hidekazu Nakamura</name>
<email>hid-nakamura@vf.jp.nec.com</email>
</author>
<published>2015-11-05T15:47:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=55b37d5e33f322077303a895d3453320b3895f11'/>
<id>55b37d5e33f322077303a895d3453320b3895f11</id>
<content type='text'>
Project show with name argument returns 'Could not find resource'
error when the user is not authorized. It should report the
authorization error instead. This patch makes that change.

Change-Id: Iac3521f8a411060b0ec9ef46c8f0e1f3551e56ae
Closes-Bug: #1511625
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Project show with name argument returns 'Could not find resource'
error when the user is not authorized. It should report the
authorization error instead. This patch makes that change.

Change-Id: Iac3521f8a411060b0ec9ef46c8f0e1f3551e56ae
Closes-Bug: #1511625
</pre>
</div>
</content>
</entry>
<entry>
<title>Use assertItemsEqual() instead of assertListEqual()</title>
<updated>2016-03-14T08:22:24+00:00</updated>
<author>
<name>Tang Chen</name>
<email>chen.tang@easystack.cn</email>
</author>
<published>2016-03-14T08:22:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=7b2e3c7d1cbe6e55de4bf1d51cb4cc0862c60d44'/>
<id>7b2e3c7d1cbe6e55de4bf1d51cb4cc0862c60d44</id>
<content type='text'>
assertListEqual() is order sensitive. So we need to sort
the lists before we compare them. Use assertItemsEqual()
instead is better.

Change-Id: I9eaa98716c7401f5b099b007438acc916dae619b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
assertListEqual() is order sensitive. So we need to sort
the lists before we compare them. Use assertItemsEqual()
instead is better.

Change-Id: I9eaa98716c7401f5b099b007438acc916dae619b
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Fixed command list"</title>
<updated>2016-03-11T20:48:32+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2016-03-11T20:48:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=586a038afd26894b264bd716186ff1b9ad8844f9'/>
<id>586a038afd26894b264bd716186ff1b9ad8844f9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance list extension unit test</title>
<updated>2016-03-11T02:39:15+00:00</updated>
<author>
<name>Fang Zhen</name>
<email>zhen.fang@easystack.cn</email>
</author>
<published>2016-03-10T10:51:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/python-openstackclient.git/commit/?id=4208f02a20af6d7561bd925406893b261a5fbbe1'/>
<id>4208f02a20af6d7561bd925406893b261a5fbbe1</id>
<content type='text'>
Extension list involves identity, compute, volume and network.
Current test covers only identity and network. This patch added test
against compute and volum. Also refactored current implentation.

Change-Id: If9b36cba24c50a817a17f685801e418fb898596a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extension list involves identity, compute, volume and network.
Current test covers only identity and network. This patch added test
against compute and volum. Also refactored current implentation.

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