752 Commits

Author SHA1 Message Date
Steve Martinelli
e85971b1a6 Update the docs for new nic options
Change-Id: I4c8b93ede80f993eab8badfbba6bf1c530844d54
2015-04-19 01:43:40 -04:00
Dean Troyer
5649695c65 Add --os-cloud support
This adds a new option --os-cloud that allows the configuration values
for multiple clouds to be stored in a local file and selected with
a single option.

Internal option names have had 'os_' removed to be comptible with
the options returned from OpenStackConfig().get_one_cloud().

The config file is ~/.config/openstack/clouds.yaml:

Sample
------
clouds:
  devstack:
    auth:
      auth_url: http://192.168.122.10:35357/
      project_name: demo
      username: demo
      password: 0penstack
    region_name: RegionOne
  devstack:
     auth:
       auth_url: http://192.168.122.10:35357/
       project_name: demo
       username: demo
       password: 0penstack
     region_name: RegionOne

Co-Authored-By: Monty Taylor <mordred@inaugust.com>
Change-Id: I4939acf8067e44ffe06a2e26fc28f1adf8985b7d
Depends-On: I45e2550af58aee616ca168d20a557077beeab007
2015-04-18 23:04:51 -05:00
Jenkins
a5e79d58ae Merge "Defer client imports" 2015-04-19 03:23:12 +00:00
Jenkins
2ea6f10691 Merge "Suppress warnings user can't fix" 2015-04-18 07:12:03 +00:00
Jenkins
fbb7641694 Merge "Print warning on authentication error" 2015-04-18 05:27:26 +00:00
Jenkins
cb681706fa Merge "Fix session timing" 2015-04-17 20:47:55 +00:00
Nathan Kinder
4c107e6f1b Role operations should not require list object permission
When using Keystone's policy.v3cloudsample.json policy file, a project admin is
supposed to be able to manage role assignments.  Unfortunately, a project admin
isn't allowed to perform these operations using python-openstackclient, as we
attempt to perform list operations for any of the object types specified (users,
groups, projects). This is done in an attempt to lookup the id of the object by
name, but we perform this list operation even when the user specifies everything
by id. This causes 403 errors.

This patch still attempts to look up the object id by name, but we catch the 403
and assume that the user specified an id if the list operation is not allowed.
This is similar to what we do with the --domain option for other commands.

Closes-bug: #1445528
Change-Id: Id95a8520e935c1092d5a22ecd8ea01f572334ac8
2015-04-17 10:14:57 -07:00
TerryHowe
15bc2ccec9 Print warning on authentication error
At least print a warning on authentication error.  I have no
idea why an exception is being ignored here because if there
is no session, nothing is going to happen.  This at least will
print some useful warning:

    (.venv)terry@f350:~/python-openstackclient$ os flavor list --os-cloud pro
    WARNING: openstackclient.shell Possible error authenticating: __init__() got an unexpected keyword argument 'asdf'
    ERROR: openstack Authentication requires 'auth_url', which should be specified in 'HTTPClient'

This error was caused by having a bogus value 'asdf' in the cloud.yaml
for the cloud pro.

Change-Id: Ie08432e0464cfa86b3b3f67ca29d3b7d23d2f46f
2015-04-17 07:54:05 -06:00
Marek Aufart
d363068617 Fix skipped image create attribute location attr
Image create action accepts attribute called location,
in method body is list of allowed attributes, which contain
localtion, what is typo and this attribute was not passed to
glance. Fixed.

Change-Id: I357b06b63b8aa97f7a5f587ef3fcee7a4b360ed1
Closes-Bug: #1445460
2015-04-17 14:20:37 +02:00
Jenkins
c390d89900 Merge "Better help for --nic in create server" 2015-04-17 07:04:50 +00:00
Jenkins
b72f2fb7ee Merge "Add support to specify volume quotas per volume type" 2015-04-16 04:37:39 +00:00
Dean Troyer
f43c1f7655 Defer client imports
So we really weren't deferring the loading of client libs dadgummit,
do that for real where possible.  This shaves a couple of tenths off
the static import times.

Also defer as much import-time procesing as possible.  This is a little
ugly in api.auth but this also eliminates import of the auth plugins
until they are needed.

Change-Id: Ia11d4b9cf98231d37449103fc29101dc17afb009
2015-04-15 22:40:52 -05:00
Davanum Srinivas
459526e25d Better help for --nic in create server
Use the help string from python-novaclient for a better user
experience.

Closes-Bug: #1444685
Change-Id: If7b8e3f68a0c6ad82b9959f162670b5568d5d12d
2015-04-15 21:17:00 -04:00
Steve Martinelli
8bd8a8dfd7 Add support to specify volume quotas per volume type
Add a --volume-type option to quota set, this will allow users
to set quotas for volume attributes on a per volume-type basis.

for example:
  openstack quota set admin --volume-type myvol --volumes 12

Change-Id: I3ce9cf82a65d4f012b339f0e0dedb752cb132c33
Closes-Bug: 1438377
2015-04-15 01:42:00 -04:00
Steve Martinelli
caf91e69ba Add docs for service provider CRUD
This patch adds service providers to command-objects, and makes
a few changes to the help text, to align it more with the
already established identity provider resource.

Change-Id: Ibf3d2bc04bf5588d1fc9c37b8ca28c007496c021
2015-04-15 05:09:48 +00:00
Marek Denis
ba7ad20942 Federation Service Providers CRUD operations
Adds CRUD support for service providers as it's now available through
keystoneclient

Closes-Bug: 1435962
Depends-On: If802e8a47e45ae00112de3739334b4b5482d0500
Change-Id: Ic55101e50209070aa49ca2adc91c89ba754c8c68
2015-04-15 05:09:15 +00:00
Jenkins
8b44d34054 Merge "Use cliff deferred help instead of homemade one" 2015-04-14 22:14:13 +00:00
Jenkins
520cae655e Merge "Add warning message if unknown version supplied" 2015-04-14 22:05:31 +00:00
TerryHowe
a0fe37e189 Add warning message if unknown version supplied
Print a warning message if an unknown api version is supplied.
An attempt will be made to run the command anyway.

Change-Id: Idec8e88fe9621f10ec4b7eecd90708fb3730f56f
2015-04-13 16:21:50 -06:00
Dean Troyer
0d689871b4 Fix session timing
Subclass keystoneclient.session.Session to add the timing hooks to
record the elapsed time returned by requests.Response objects, including
the redirection history.  Redirects are included individually and not
rolled into the total time for the original request.

This works for all clients that use OSC's session.

Closes-Bug: #1402577
Change-Id: I9360c90c151579b89a37edb8c11c17feb15b3cb9
2015-04-07 23:53:31 -07:00
Steve Martinelli
77e3fbae1a Add support for showing limits of a specific project
Looks like the option to show limits of a specific project was
missing. This resulted in always using the authenticated project.

Change-Id: I512a05df20860ffb52af34f3b64c9eb81dae8c61
Closes-Bug: 1438379
2015-04-03 02:26:22 -04:00
Dean Troyer
ec4ef5f5ba Suppress warnings user can't fix
Requests/urllib3 started issuing warnings about certificates and SSL
that our users are unable to do anything about.  This is a very blunt
way to suppress these warnings unless --verbose or --debug is
supplied on the command line.

Being more precise in the suppression requires importing the warning
classes from urllib3 and dealing with the platforms where it has
been unvendored from requests.  Maybe in the future if there are
concerns that this mutes too much otherwise.

Change-Id: I50bb10a16222de12c5b95bfe042b92e43ea8ee7c
2015-04-02 12:59:34 -05:00
Jamie Lennox
e60bf28ae3 Use glanceclient's inbuilt images find
Glanceclient image listing was special cased as it wasn't implemented in
glanceclient directly. This is no longer the case and we should use
glanceclient's functions.

Change-Id: If8d1246f1bd97c07f9f10f5457aa32124efa0be3
2015-04-02 11:21:07 +11:00
Marco Fargetta
6a9d6af225 Add support to remote_id
The federation APIs for the identity providers introduce a new parameter
for every identity provider, named remote_ids, which contains a list of
entity ID associated with. This parameter can be provided during the creation
of the identity provider and can be updated at any time. For more information
look at the blueprint:

https://blueprints.launchpad.net/keystone/+spec/idp-id-registration

This patch add the support to this new parameter in the command line by
inserting the option "--remote-id" in the following commands:

- "identity provider create"
- "identity provider set"

Additionally, the values can be read from a file, specified by
"--remote-id-file", containing an entity id per line.

Change-Id: Ie93340ee57e54128daa70d8a7bd0a9975ff7eef4
Depends-On: I12a262c55b5f6b5cc7007865edf30f14269da537
Implements: blueprint idp-id-registration
2015-03-30 11:53:17 -04:00
Jenkins
61579a5105 Merge "Add project and domain params to network create" 2015-03-24 00:09:23 +00:00
Rodrigo Duarte
2ed0e22049 Add parent field to project creation
Adding the possibility to create projects hierarchies by adding
the parent field in the create project call.

Co-Authored-By: Victor Silva <victor@lsd.ufcg.edu.br>

Implements: bp hierarchical-multitenancy
Change-Id: I4eac4f5bc067634cc38c305dacc59ab1da63c153
2015-03-23 15:45:09 -03:00
Colleen Murphy
6c224f5acf Add project and domain params to network create
Without this patch, openstackclient has no way to specify to which
project a network belongs upon creation. Instead, it uses the project
ID that the user is authenticating with to fill the tenant_id column.
This is a problem because an admin user is unable to specify a project
for a non-admin network. To fix this and to improve feature parity with
the neutron client, this patch adds project and domain parameters to
the network create command and uses the given project name to look up
the project ID.

Neutron does not allow the project to be changed after creation, so no
such parameter has been added to the neutron set command.

Neutron calls the field 'tenant_id', but this change exposes the
parameter as '--project' to support the newer terminology.

If no project is specified, the client defaults to the previous
behavior of using the auth project.

Change-Id: Ia33ff7d599542c5b88baf2a69b063a23089a3cc4
2015-03-19 23:49:02 -07:00
Marek Aufart
621434451f Add the ability to set and unset flavor properties
Added flavor set and unset command which allow manage flavor
properties called extra_specs.

Command flavor show output was extended with these properties.

Closes-Bug: 1434137
Change-Id: Ie469bade802de18aab9d58eda3fff46064008163
2015-03-19 13:54:19 -04:00
Cedric Brandily
8e92dfc2a5 Use cliff deferred help instead of homemade one
This change removes openstackclient homemade hack to defer help
printing in initialize_app and uses cliff (new) option to defer
help printing.

Change-Id: Ie3e94ec96254745bfef8c5ff5abc405facfe1bea
Related-Bug: #1316622
2015-03-17 23:44:53 +01:00
Jamie Lennox
a9d1e3d219 Base TokenEndpoint plugin on keystoneclient's
Keystoneclient has always provided a TokenEndpoint plugin. Unfortunately
it uses a different option name for url, so subclass the original and
replace the options.

Change-Id: I7e16b31ceb9f75f1c1f6bfb224d8f8f353d06150
2015-03-11 19:16:18 +11:00
Jenkins
2f4cfb6cd5 Merge "Move OSC auth plugins so they can be found" 2015-03-10 05:37:41 +00:00
Jenkins
706c51bf96 Merge "Add identity v3 catalog show" 2015-03-10 04:52:14 +00:00
Jenkins
3da6e47e5e Merge "Add identity v3 catalog list" 2015-03-10 04:07:44 +00:00
Jenkins
6edbb63594 Merge "Add ability for diplaying hypervisor statistics" 2015-03-10 03:51:26 +00:00
Dean Troyer
749920bc65 Move OSC auth plugins so they can be found
The plugin detection at the top of openstackclient.api.auth did not
detect the plugins at the bottom of that file because, surprise,
they had not been declared yet so the entry points were ignored.

Move both plugin subclasses into openstackclient.api.auth_plugin.

Fix a problem with the password callback that was otherwise made
worse with this change.

Closes-Bug: 1428912
Change-Id: Idc3b72534071e0013c8922884a8bc14137509a0f
2015-03-10 03:16:12 +00:00
TerryHowe
fa5f02eb22 Add identity v3 catalog show
Change-Id: Ia6b6c25eded43b899b3aa026227ad2859f1c67dd
2015-03-09 23:08:15 -04:00
Jenkins
8f7e0ef35e Merge "Fix catalog list when region name is absent" 2015-03-08 17:59:16 +00:00
Jenkins
0efc8668bf Merge "Fix identity v2 catalog list" 2015-03-08 17:59:09 +00:00
Jenkins
5d98bb3800 Merge "Add 'uptime' in 'hypervisor show'" 2015-03-08 14:27:49 +00:00
TerryHowe
a216746627 Add identity v3 catalog list
Change-Id: Id4c1371ca28b9fd884ec75061edca700fd69886c
2015-03-07 05:57:46 -07:00
Dean Troyer
ee2ba48aa4 Fix catalog list when region name is absent
Some service catalogs in the wild have services without region names defined.
Let's be nice and stuff in a default value indicating this state.

Closes-Bug: #1429211
Change-Id: I3ebe2534dc6e3438aaeddc7757fb2db4117eae4b
2015-03-06 11:28:11 -06:00
Jenkins
b99af443a6 Merge "Raise AttributeError for unknown attributes" 2015-03-06 15:21:05 +00:00
Jenkins
707b5b022f Merge "Fix help messages" 2015-03-06 13:37:55 +00:00
lin-hua-cheng
90c4a0a24f Add ability for diplaying hypervisor statistics
Added new command 'hypervisor stats show' for displaying
the hypervisor stats over all compute nodes.

Change-Id: I4f98c69135b04d4f6cea67cd6350d5d99fb79dba
Partial-Bug: #1423748
2015-03-06 00:11:20 -08:00
lin-hua-cheng
5fddec359d Add 'uptime' in 'hypervisor show'
Fetch the 'uptime' by making a call to hypervisor-uptime.

Update the help for 'hypervisor show' to mention that it
supports by Name or Id.

Change-Id: I31060d203e87749cfc05810c2d9db42f2416051d
Partial-Bug: #1423748
2015-03-06 00:09:20 -08:00
Jamie Lennox
47977fcc32 Raise AttributeError for unknown attributes
Not returning a value is the same as returning None. In the event that
someone asks ClientManager for an attribute that doesn't exist it should
raise AttributeError in the same way as other python objects rather
than return an empty value.

Change-Id: Id0ee825e6527c831c38e3a671958ded362fb96e1
2015-03-05 23:40:26 -08:00
Jenkins
0047b022d5 Merge "Add hypervisor docs" 2015-03-06 07:40:00 +00:00
lin-hua-cheng
09665052ac Add hypervisor docs
Change-Id: I444734925316e876afcbfdeffafea9973a837022
2015-03-05 21:42:03 -08:00
Monty Taylor
59727ba2f9 Don't hack the image url
It's actually breaking usage against HP Public Cloud.

Change-Id: Ic172786c6d1272798b768078a0bcf246f8d64ca8
2015-03-05 20:58:23 -06:00
Jenkins
5b8f18fe4b Merge "Rename --verify for server resize to avoid conflict" 2015-03-05 20:27:32 +00:00