229 Commits

Author SHA1 Message Date
ting.wang
e2158b7ef4 Clean redundant argument to dict.get
`dict.get()` returns `None` by default, if a key wasn't found.
Removing `None` as second argument to avoid redundancy.

Change-Id: Ia82f7469cd019509bbeccbfe54b15eeedc7bb6ea
2016-02-21 13:21:31 +08:00
Jenkins
867bcb0db8 Merge "Support unscoped token request" 2016-02-21 04:31:51 +00:00
Jenkins
f4ca06cad6 Merge "Fix Mutable default argument" 2016-02-21 01:31:34 +00:00
ting.wang
dc5a8faddd Fix Mutable default argument
Python’s default arguments are evaluated once when the function is defined,
not each time the function is called. This means that if you use a mutable
default argument (like list and dict) and mutate it, you will and have mutated
that object for all future calls to the function as well.

more details about this wrong usage here:
http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments

Change-Id: If187f16bfb305ac4fe6e4177e498a06c49c3f946
2016-02-20 16:35:11 +08:00
ting.wang
5a978b9ec1 Replace string format arguments with function parameters
There are files containing string format arguments inside logging messages.
Using logging function parameters should be preferred.

Change-Id: I15b405bf4d4715263fe1e1262982467b3d4bc1f4
Closes-Bug: #1321274
2016-02-20 14:16:25 +08:00
guang-yee
41e1bd0be6 Support unscoped token request
Make scope check optional for the "token issue" command as unscoped token is
a valid Keystone V2/V3 API.

Change-Id: Ie1cded4dbfdafd3a78c0ebdf89e3f66762509930
Closes-Bug: #1543214
2016-02-19 16:07:13 -08:00
TerryHowe
b95ce714dc Allow custom log levels for other loggers
It would be convenient to be able to enable special logging for
various components that openstack uses.  The biggest thing is
the --debug prints a lot of information when often all I want to
see is the outgoing requests/responses.  To get just that logged
you would put this in your clouds.yaml:

    logging:
        keystoneclient.session: debug

Closes-Bug: #1484660
Change-Id: I15c2607e8262f10903dd831ee8622fb5d6315310
2016-02-05 11:07:50 +00:00
Jenkins
48697de28f Merge "Support listing network availability zones" 2016-02-04 00:40:09 +00:00
Jenkins
e4c0d8583d Merge "Allow wait_for_delete to work for all clients" 2016-02-04 00:39:47 +00:00
Jenkins
65f8845ea8 Merge "Add "os port show" command" 2016-02-03 21:01:17 +00:00
Jenkins
4b2c66447d Merge "Drop log_method decorator" 2016-02-02 21:21:30 +00:00
Richard Theis
981621e984 Add "os port show" command
Add "os port show" command.

Change-Id: Id87c81640e74c60ae8f247c722c64fdadff022a2
Partial-Bug: #1519909
Partially-Implements: blueprint neutron-client
2016-02-02 08:40:05 -06:00
Richard Theis
4d332defbc Support listing network availability zones
Update the "os availability zone list" command to support listing
network availability zones along with the currently listed compute
and volume availability zones. This adds the --network option to
the command in order to only list network availability zones. By
default, all availability zones are listed. The --long option
was also updated to include a "Zone Resource" column which is
applicable to network availability zones. Example zone resources
include "network" and "router".

If the Network API does not support listing availability zones
then a warning message will be issued when the --network option
is specified.

This support requires an updated release of the SDK in order
to pull in [1].

[1] https://bugs.launchpad.net/python-openstacksdk/+bug/1532274

Change-Id: I78811d659b793d9d2111ea54665d5fe7e4887264
Closes-Bug: #1534202
2016-02-02 08:08:25 -06:00
Jenkins
72fe3e25e2 Merge "Fix showing network quotas for a project" 2016-02-02 04:06:57 +00:00
Akihiro Motoki
a05d9fd9f1 Drop log_method decorator
As a result of the recent logging refactoring, log_method decorator
is no longer required. oslo.log provides a similar decorator
oslo_log.helpers.log_method_call. If a similar feature is needed,
we can use the decorator from oslo_log.

searchlightclient is the only OSC external plugin which uses this
decorator. The depending patch removes it, so we can safely drop
the decorator.

Change-Id: If3df09cf6aa0a401d9f89e8924adce851d0c6dec
Depends-On: Ib94e7ba77262a9a8cbfce71f3083c47cb1973364
2016-02-02 12:51:24 +09:00
Richard Theis
5d1a93362d Fix showing network quotas for a project
The OpenStack SDK is now used for the network client. However,
the 'openstack quota show' command wasn't updated for the
client change. As a result, the command will fail to show
network quotas when a project name is specified. For example:

  $ openstack quota show admin
  'Proxy' object has no attribute 'show_quota'

This patch set fixes the command by using the OpenStack SDK
to get network quotas for a project.

Change-Id: I59a7b6780a7b80cd09e79d40d214751b25d3016e
Related-To: blueprint neutron-client
Closes-Bug: #1528249
2016-02-02 02:02:53 +00:00
Akihiro Motoki
258c1102cc log take_action parameters in a single place
Previously each command logs take_action parameters explicitly
by using @utils.log_method decorator or log.debug().
Some commands have no logging.

This commit calls a logger in the base class and
drops all logging definition from individual commands.

Closes-Bug: #1532294
Change-Id: I43cd0290a4353c68c075bade9571c940733da1be
2016-02-02 09:58:32 +09:00
Mark Vanderwiel
5903ffff8a Allow wait_for_delete to work for all clients
Allow the exception and error status
strings to be passed in such that other plugins can
make use of this function.

There is a comment in find_resource:
  The exception to catch here is dependent on which
  client library the manager passed in belongs to.
  Eventually this should be pulled from a common set
  of client exceptions.

Since I think that is a long ways off, this change will
work now and also work when a common exception is defined
and used.

Change-Id: Iab56cd1166028caed4f1e657e0b1ee81af3f48d8
2016-01-28 10:52:45 -06:00
Jenkins
ee78fb2f78 Merge "Support listing volume availability zones" 2016-01-22 19:23:20 +00:00
Jenkins
09be6a439a Merge "Refactor "os availability zone list"" 2016-01-22 19:22:42 +00:00
Akihiro Motoki
50d54bb007 log_method: get logger from decorated method if unspecified
This commit makes 'log' optional.
'log' attribute of each command class does not exist
when the class is defined because 'log' is now setup
dynamically when a class is instantiated. Instead log_method
looks for a logger from a decorating method.

compute.v2.server is changed in this commit as an example.

Change-Id: Ic4d128f8e027d3b8e6f884f31369e9085c0f0871
Partial-Bug: #1532294
2016-01-20 22:02:19 +09:00
Akihiro Motoki
0e6b86ad94 Set up logger of each command by metaclass
compute.v2.flavor is changed in this commit as an initial example.

Partial-Bug: #1532294
Change-Id: I262af6ade0ae03fbe1cd2ad198faf4ebb4ecf7ce
2016-01-20 22:02:19 +09:00
Richard Theis
a8ec2ac494 Support listing volume availability zones
Update the "os availability zone list" command to support listing
volume availability zones along with the currently listed compute
availability zones. This adds a --compute and --volume option to
the command in order to select the availability zones to list. By
default, all availability zones are listed.

If the Block Storage API does not support listing availability
zones then an warning message will be issued.

Change-Id: I8159509a41bd1fb1b4e77fdbb512cf64a5ac11a9
Closes-Bug: #1532945
2016-01-14 15:47:19 -06:00
Richard Theis
84174440fc Refactor "os availability zone list"
Refactor the "os availability zone list" command to make it a common
command instead of a compute-only command. Since availability zones
are common to compute, volume and network (new), this refactoring
allows availability zone support to be added for volume and network.

In addition to the refactor, unit and functional tests were added.

Change-Id: I63e9d41d229b21cd38e5a083493042c096d65e05
Partial-Bug: #1532945
2016-01-14 11:43:31 -06:00
Jenkins
fa3077d51a Merge "Refactor network endpoint enablement checking" 2016-01-14 00:45:04 +00:00
Jenkins
9317df07a2 Merge "Trivial: Remove useless string_to_bool()" 2016-01-08 06:23:32 +00:00
zhurong
b29947449a Delete the unused LOG configure code
Delete the unused LOG configure code and import code

Change-Id: I1fb0cacfe44b6a2fd4e4b3f504b6d1dec055c5c4
2016-01-05 02:47:12 -05:00
Richard Theis
57dac0bc3a Refactor network endpoint enablement checking
Move the network endpoint enablement checking from the 'server create'
command to the common client manager. This allows future network
commands to use either nova or neutron networking based on the cloud
environment.

This patch set also includes related unit test enhancements to the
common client manager to trigger authentication on the tests.

Change-Id: Ia37e81d4fb05a1e2fceb3e5d367bda769ab8e64b
Related-Bug: #1519511
Related-to: blueprint neutron-client
2016-01-04 13:49:49 -06:00
Jenkins
5aeb831157 Merge "Use Block Storage instead of Volume" 2016-01-04 16:23:30 +00:00
Tang Chen
5f0147ad12 Trivial: Remove useless string_to_bool()
string_to_bool() is not used by anyone.
Furthermore, it is not well designed. It tries to convirt 't', '1'
to True, which could be confused.

So remove it. If we need something similar, let's make a better one.

Change-Id: Ic1f63480c806bf7bcc9f541fc806eed297ddf718
2015-12-29 10:50:44 +08:00
Richard Theis
0e38ef8484 Improve output for "os security group show"
Improve the security group rules output when running the
"os security group show" command. Each security group rule
is now displayed on a separate line.

Current output example:
$ openstack security group show default
+-------------+------------------------- ... ---+
| Field       | Value                    ...    |
+-------------+------------------------- ... ---+
| description | Default security group   ...    |
| id          | 048a5fc3-3be1-407d-ae47-9...    |
| name        | default                  ...    |
| project_id  | 3b96bb2020c1459da76963f9e...    |
| rules       | [u"id='5d812367-9829-4340...t"] |
+-------------+------------------------- ... ---+

New output example:
+-------------+------------------------- ... ---+
| Field       | Value                    ...    |
+-------------+------------------------- ... ---+
| description | Default security group   ...    |
| id          | 048a5fc3-3be1-407d-ae47-9...    |
| name        | default                  ...    |
| project_id  | 3b96bb2020c1459da76963f9e...    |
| rules       | id='5d812367-9829-4340-95...lt' |
|             | id='ee451d1c-ade3-4975-8e...lt' |
+-------------+------------------------- ... ---+

Change-Id: I1386075310896c58a2b776e2bbec3603bd00eff1
Partial-Bug: #1519511
Related-To: blueprint neutron-client
2015-12-23 13:44:22 -06:00
Terry Howe
7aa6e5e36c SDK integration extensions and server create networks
Finish up the SDK integration with server create network and port
find and extension list.

Change-Id: I18dbada784d8aa92a45a937f251023ddf899c53e
2015-12-09 11:39:20 -07:00
Dean Troyer
bf090c69c2 Switch to ksa Session
* Change session imports to keystoneauth1
* Change keystoneclient.exception imports to keystoneauth1
* Change exceptions raised from internal API from keystoneclient to openstack.common

Change-Id: I046d89f561d6fe04baae53726f9749d2e7fe2056
2015-12-02 01:55:14 +00:00
xiexs
0ccd2a8108 Add project name/ID validation for "openstack quota show"
A validation is necessary to check the existence of project.
This patch is similar to Ia2d8c96527820e25b074e6486d3f39c5ad7eae60.

Change-Id: Id8895ba7a21ecad05942619a82a87c0dc68eae53
2015-11-29 22:30:04 -05:00
Xi Yang
54b0ef3358 Use Block Storage instead of Volume
Volume is better to be replaced by Block Storage in the
doc.

Change-Id: I736669ee01c7385b6e701cb20f4334eff1c49286
2015-11-27 17:56:10 +08:00
Tang Chen
c48afe6032 Trivial: Fix a typo.
Change-Id: I236b4f53ee23cc97900e6244ab709404cc44a4ca
2015-11-27 13:20:44 +08:00
Tang Chen
f3c69ceeb5 Trivial: Add missing doc for parameter in wait_for_delete().
The doc of parameter manager is missing.

Change-Id: I4e99c06ab713532d73615670ada0a61462285d76
2015-11-26 10:19:01 +08:00
Jenkins
1be15a8be7 Merge "Unable to set some compute quotas" 2015-11-25 00:05:43 +00:00
Jenkins
42a5909f6a Merge "Trivial: Fix wrong doc for wait_for_status()." 2015-11-23 06:07:37 +00:00
Tang Chen
6957fb3ee7 Trivial: Fix wrong doc for wait_for_status().
Two trivial fixes:
1. docs for parameters are not sorted correctly
2. missing doc for a parameter

Change-Id: I0cfb65e0f897c391b9b6e7225251e88855b07a56
2015-11-24 09:22:22 +08:00
Tang Chen
319fc09430 Trivial: Remove doc for non-existing param in format_dict().
There is no parameter named format.

Change-Id: I286006430efb2850b978b6f2abaed87216156d12
2015-11-21 19:02:32 +08:00
Richard Theis
99498b0ab3 Unable to set some compute quotas
The OpenStackClient mapping of 'openstack quota set' arguments isn't
correct for compute quota items that have to different names.  For
example, the --injected-file-size argument is mapped to
injected_file_size, but the compute quotas item is actually
injected_file_content_bytes.  This incorrect mapping prevented the
impacted compute quota items from being set.

The problem impacts the following 'openstack quota set' arguments:
  --injected-file-size
  --injected-path-size
  --properties
  --secgroup-rules
  --secgroups

This patch set also expands the compute quota unit tests to verify
all compute quota items that can be set.

Change-Id: I0a2f241e425f4811e4ae55be183ac0c8b0805c2a
Closes-Bug: #1475831
2015-11-20 13:08:42 -06:00
Mark Vanderwiel
71e1adeaf0 Allow error status to be specified
For some apis, heat, the error status is "failed". This patch
changes the wait_for_status method to allow for the error
status to be passed in the same way as the success status.

Change-Id: I20db4051d3f5611a4b13fe23ea8798b82a40da81
2015-11-18 17:48:43 -06:00
Jenkins
6e1ad73723 Merge "validate non-ascii values for swift properties" 2015-11-12 22:38:58 +00:00
Steve Martinelli
cfd2bf5882 validate non-ascii values for swift properties
skip properties that are non-ascii values, but proceed
with properties that work. log these failed values back
to the user.

Change-Id: Iaca8909f4465a01c8aebfd290b1a322823702359
Closes-Bug: 1503898
2015-11-12 11:07:57 -06:00
Jenkins
6a8c0f3ff6 Merge "Add project-name/-id validation for the OSC "openstack quota set"" 2015-11-12 05:01:41 +00:00
xiexs
ea63553925 Fix the bug of "openstack console log show"
The behaviors are inconsistent while different
negative line numbers specified.

Change-Id: I2573f3e789f5603c896758971830ffc0b94c5e2b
Closes-Bug: #1512263
2015-11-09 04:22:09 -05:00
xiexs
7d8bb331a0 Add project-name/-id validation for the OSC "openstack quota set"
The quota info would be set into DB, even though the project actually
does not exist.
This patch tried to add a validation to forbid this undesirable behavior.

Change-Id: Ia2d8c96527820e25b074e6486d3f39c5ad7eae60
Closes-Bug: #1512638
2015-11-04 10:22:46 -05:00
Jenkins
cb28cd9ac0 Merge "Rename context.py to logs.py" 2015-10-30 11:02:08 +00:00
Terry Howe
05800c4722 Rename context.py to logs.py
At one point this file contained the context for logging, but
the reason for its existence is now for logging.

Implements: blueprint logging-migration

Change-Id: I4ba42bbef97b09d31236ac8c01b6fb23827b8bee
2015-10-30 17:38:42 +09:00