388 Commits

Author SHA1 Message Date
Monty Taylor
cfa87b1e7f
Add test for precedence rules
This should cover both the OSC and the ansible incoming use cases.

Change-Id: I3fdc83837692d31c5579d91892a387a5d1023785
2016-08-05 06:36:14 -05:00
Monty Taylor
ddfed7f2fb
Pass the argparse data into to validate_auth
We have two contradictory precedence needs that are impossible to
satisfy because we're losing knowledge of the source of data as
we build the ultimate dict of data. If we carry the argparse data
along in a separate bucket for longer, we can check to see if it's
there so that it can win, but so that in situations where kwargs
is complex and contains both a top-level and an auth dict we don't
assume that the values that are not in the auth dict came from
argparse.

By doing this, we can establish that precedence for auth args is:
- argparse
- auth dict
- top level kwargs

Change-Id: I9eca5937077f5873f7896b6745951fb8d8c4747c
2016-08-04 16:18:42 -05:00
Monty Taylor
d71a902203 Revert "Fix precedence for pass-in options"
This reverts commit 05b3c933b34e9cec9eb859a15392862918b3eb5f.

Change-Id: I07dd701ca911cd12701519d2e6d624c69baa0848
2016-08-04 20:45:49 +00:00
Dean Troyer
05b3c933b3 Fix precedence for pass-in options
The passed-in argparse Namespace is flat and does not have an 'auth'
dict, all of the auth options are in the top level.  If the loaded
dict from clouds.yaml as an 'auth' dict, that used to totally override
any passed-in options.

This is backwards.

Make the passed-in auth options always win over clouds.yaml as this is
the only way to change/override those values from the command line.

Change-Id: Ic2752a396d45deeda19a16389437679829e0844d
2016-08-02 21:15:53 -05:00
Jenkins
51b4cbee52 Merge "Reword the entries in the README a bit" 1.18.0 2016-06-02 07:34:32 +00:00
Jenkins
5d36663f1a Merge "Add shade constructor helper method" 2016-06-02 07:31:31 +00:00
Monty Taylor
4f36eca18f
Reword the entries in the README a bit
Wanted to make each section a little better, but also to start to
indicate that legacy clients should really not be your first choice.

Change-Id: I26e08d037c7b28ced22a2a0126693d7e3e779f58
2016-06-02 10:07:30 +03:00
Monty Taylor
7d63f12edd
Add shade constructor helper method
We have helper factory methods for REST Client, legacy client and
OpenStack SDK all with the same interface ... we might as well have one
for shade too. It makes documenting and talking about the simple case of
all of them easy.

Change-Id: I046da85ae4a3e2a6333223921d5ae9ce3673121d
2016-06-02 10:07:27 +03:00
Jenkins
afbb28817e Merge "Rename session_client to make_rest_client" 2016-06-01 14:48:20 +00:00
Jenkins
6ea67cd458 Merge "Add helper method for OpenStack SDK constructor" 2016-06-01 14:09:33 +00:00
Monty Taylor
6a834063a2
Rename session_client to make_rest_client
While writing some docs, it became clear that session_client was just a
horrible horrible name and that I'm a bad person. Rename it so that we
can make docs that make humans happy.

Also, move the REST client section of the README up a bit.

Change-Id: I1a27853e3031489da5916308a76f19bc72185d24
2016-06-01 10:39:42 +03:00
Monty Taylor
41ac1562b5
Add helper method for OpenStack SDK constructor
openstacksdk already has a helper method for dealing with occ, but if a
user is already using the occ helper methods, there is no reason we
should not provide them an easy path to using the SDK.

Change-Id: I1040efb94385fdac0aa02ac960ba95089b954377
2016-06-01 10:26:24 +03:00
Jenkins
765c406c69 Merge "Trivial: Remove 'MANIFEST.in'" 2016-06-01 05:09:29 +00:00
Jenkins
84cd4c494d Merge "Trivial: remove openstack/common from flake8 exclude list" 2016-06-01 05:09:21 +00:00
Jenkins
583807689b Merge "drop python3.3 support in classifier" 2016-06-01 05:00:17 +00:00
Alvaro Lopez Garcia
fbe1b382df Add missing "cloud" argument to _validate_auth_ksc
The function _validate_auth_ksc was missing a "cloud" parameter so the
exception formatting failed as it could not find that variable.

Change-Id: Ia1caaa29fcb14d6ce7c16de1f78bbcae6c24adb0
2016-05-23 11:40:05 +02:00
Monty Taylor
090a265669
Workaround bad required params in troveclient
troveclient requires username and password as parameters to the Client
object, but if a Session is passed (like we do) that's not needed. A
patch has been submitted to troveclient, but until that has been
released, simply send None to both parameters.

Change-Id: Ie130a4e83cceb7cab69bfbeb559493d195ef35e1
2016-05-09 05:01:09 -05:00
ChangBo Guo(gcb)
44efe9c955 Trivial: Remove 'MANIFEST.in'
Everything in this file is automatically generated by pbr.
There appears to be no good reason to keep it around.

Change-Id: I73eb120dedbdb6685862d26493fc178e6dee1353
2016-05-07 17:02:37 +08:00
ChangBo Guo(gcb)
189a604754 Trivial: remove openstack/common from flake8 exclude list
openstack/common was used to kepp copied files from
oslo-incubator, we don't use oslo-incubator stuff,
so remove it.

Change-Id: Id426c41e6ae277ed1f829820771d5ffc31a81166
2016-05-07 16:59:20 +08:00
ChangBo Guo(gcb)
b0fa4383b0 drop python3.3 support in classifier
We don't run python 3.3 CI jobs anymore,
so just drop it from classifier.

Change-Id: I871269ae54067aae40f5dc06affbd4354104ee91
2016-05-07 16:56:32 +08:00
Jenkins
16ed02735b Merge "Fix formatting in readme file" 2016-05-02 21:24:21 +00:00
Jenkins
785932ad52 Merge "Remove discover from test-requirements.txt" 2016-05-02 21:23:49 +00:00
Ilya Shakhat
700ab6f282 Fix formatting in readme file
Change-Id: Ifa37d38b3c7689f703c7129459b15a367e2aafff
2016-04-22 18:01:17 +03:00
Thomas Bechtold
1028f5ad7e Remove discover from test-requirements.txt
discover is only needed for python 2.6 which is
no longer supported.

Change-Id: I8faeb05def94ac4adb2fe870fe141678dbd412ae
2016-04-11 10:31:11 +02:00
Jamie Lennox
d9f9c05bfb Add version string
Use PBR to add an __version__ string to os-client-config.

Change-Id: I2293b2bd0dbbe0108e805be8ba02fbba9a5ab064
2016-04-11 16:05:27 +10:00
Monty Taylor
5605034fc3
Pull the network settings from the actual dict
Turns out self._openstack_config is not the config dict. self.config is.
Also, return names.

Change-Id: Ib2013e737b506b3a2acd7aa7b7884240c25384c5
1.17.0
2016-04-06 19:18:52 -04:00
Monty Taylor
fdb80ad04f Clarify one-per-cloud network values
Make it clear in the docs that default_interface and nat_destination can
each be set only once per cloud.

Change-Id: Ic862b9f4dc31580c4e192f13f100428bbec7faa2
2016-04-02 09:47:52 -05:00
Monty Taylor
7c439073f3 Flesh out netowrk config list
Add support for indicating default_interface. Also, add some validation
and normalization code, some interface methods and, shockingly,
documentation.

Change-Id: Ib45b68894585ac02821d5d2376510fd7a8e8ee40
2016-04-02 09:09:54 -05:00
Monty Taylor
278a761df6 Change network info indication to a generic list
Networks can have more information than just internal or external. Notably,
if you have two private networks and you're trying to assign floating
ips, you need to know which network should be the recipient.

This should be backwards compatible with existing external_network and
internal_network options.

Change-Id: I0d469339ba00486683fcd3ce2995002fa0a576d1
2016-03-30 16:15:49 -07:00
Jenkins
9d49a7a873 Merge "Update reno for stable/mitaka" 2016-03-14 17:27:11 +00:00
Doug Hellmann
a71511468e Update reno for stable/mitaka
Fix a few page titles at the same time

Change-Id: I68d082f1cad51bbe58deed6a7e4b0de122c22fc7
2016-03-11 15:06:47 -05:00
Jenkins
f99445bd2f Merge "Add osic vendor profile" 2016-03-10 21:47:02 +00:00
Clark Boylan
cbab18b0fa Add osic vendor profile
The new osic cloud is a thing. Add a vendor profile here to simplify
using it.

Change-Id: Iecd473c93cd1e1d8e2bf9a785f257a47df10351e
2016-03-10 13:36:50 -08:00
Jenkins
22ee863ca8 Merge "Fix formulation" 2016-02-25 21:59:10 +00:00
Monty Taylor
03d5659d8b Update the README a bit
Cleaned up example references to now-not-existing HP Public Cloud. Also
added a named-cloud entry to the make_client section.

Change-Id: I398c438e22eb84d6079a5c45f068753c3bcaa216
1.16.0
2016-02-22 09:29:22 -08:00
Monty Taylor
7a4993da41 Allow session_client to take the same args as make_client
make_client is a great, simple yet flexible way to get a fully featured
Client object. simple_client is similar for Session objects, but lacks
the argparse and arbitrary kwargs that make_client - plus it has a weird
name. Since adding those two features to make_client did not make it too
confusing - do the same for simple_client. Also, rename it to
session_client (with a backwards-compat alias) and add it to the README
docs.

In the process of doing this, extract the "get me a cloud config"
functinality into an additional helper function - get_config.

Change-Id: Iadd24dfa021f870b3e5858bab8cd91fc96a373c2
2016-02-22 09:29:18 -08:00
Arie Bregman
35ece66b4c Fix formulation
Fixed the formulation for the message that appears when cloud config
couldn't be found.

Change-Id: I1a4a83fe598d4eab52713061471fab8d1c46ec91
2016-02-18 14:30:05 +02:00
Clark Boylan
7865abc22b Add release notes
Catch up the release notes from the previous release to current state.
This does not catch up from the beginning of oscc's history.

Change-Id: Ic981fdfbb79cd7fc70167091bdfed281c11eff03
1.15.0
2016-02-17 11:46:57 -08:00
Jenkins
ec01941cda Merge "Send swiftclient username/password and token" 2016-02-17 16:24:34 +00:00
Monty Taylor
dd1f03c597 Send swiftclient username/password and token
For longer-lived operations, tokens can timeout and we need to get new
ones. While in theory we should be keystoneauth aware and passing around
sessions, swiftclient does not yet support this. So, instead of passing
in just a preauthtoken, also pass in credentials if we have them. However, for
plugin types that swift does not know about directly, only preauthtoken will
be used as before.

Change-Id: If724fdcd0649d9fa3b3ee7b127e49a3f77e3b767
2016-02-12 14:19:55 -06:00
Jenkins
563cd83404 Merge "Added SSL support for VEXXHOST" 2016-02-11 13:19:06 +00:00
Monty Taylor
10a9369062 Remove HP and RunAbove from vendor profiles
HP has already shut down its public cloud. RunAbove is shutting down
17th February as part of the migration to OVH.com. Neither are therefore
valid vendors any longer.

Change-Id: I8d305ca2b1cbaf67e6711eedaa1a4c5668a42be7
2016-02-10 11:24:10 -06:00
Mohammed Naser
8264e09c69 Added SSL support for VEXXHOST
VEXXHOST cloud uses SSL for Keystone and all other services,
change the auth URL to the SSL endpoint.

Change-Id: If80c76603de44d005d6af1726f34d924384bf747
2016-02-10 11:52:15 -05:00
Steve Martinelli
fe2558a2d5 Add support for zetta.io
zetta has an openstack cloud, let's add support for it.

Change-Id: I86cda3e42fff468786b2809bb367ad59241bb397
Closes-Bug: 1537959
2016-01-31 19:55:23 +00:00
Jenkins
b18d05df0f Merge "Stop ignoring v2password plugin" 2016-01-25 20:03:18 +00:00
Monty Taylor
42727a5e18 Stop ignoring v2password plugin
We have no codepaths that currently set v2password plugin by default.
However, there are some cases, such as old clouds, where a user needs
to explicitly set v2password as the auth_type to avoid version discovery
because their cloud is old enough to not support it. If the user
sets v2password, keep it and align the auth parameters the other
direction to set tenant_name and tenant_id.

Co-Authored-By: David Shrewsbury <shrewsbury.dave@gmail.com>

Change-Id: Ib9eb3ae163b79b67737d01868868187b6dee1756
2016-01-25 14:56:08 -05:00
Monty Taylor
ae8f4b65e3 Go ahead and remove final excludes
os-client-config is clean on E125 and E123 is ignored in recent pep8 by
default. Also, even though they are not 'valid' pep8 rules, they are
actually both nice styles and consistent with how we code
os-client-config anyway.

Change-Id: I7764e1511ed580d37b9a0a8be6743a5fa50441e5
2016-01-22 19:52:45 +00:00
Jenkins
2d19308e0d Merge "Clean up removed hacking rule from [flake8] ignore lists" 2016-01-22 14:34:06 +00:00
Monty Taylor
a2db877b41 Don't set project_domain if not project scoped
The code to expand domain_{name,id} to {user,project}_domain_{name,id}
is flawed in that it sets a project_domain_{name,id} even if a
project_{name,id} is not set. There is a valid use case for not having
a project_{name,id} - specifically getting a domain-scoped token.

In the case where we do not set a project, check for that and don't make
further assumptions that the domain input needs to be "fixed".

Closes-Bug: #1535676
Change-Id: I825fe4bc375687208bb176bb5990c23fe87c8f9d
2016-01-21 08:11:19 -05:00
LiuNanke
cfd29196fe Clean up removed hacking rule from [flake8] ignore lists
We bump hacking>=0.10.2, and hacking removed some rules, for
the full list of rules please see [1]. So don't need them any more.

Hacking related commits:
Remove H904 in commit b1fe19ebebe47a36b905d709467f5e82521bbd96
Remove H803 in commit f01ce4fd822546cbd52a0aedc49184bddbfe1b10
Remove H307 in commit ec4833b206c23b0b6f9c6b101c70ab925a5e9c67
Remove H305 in commit 8f1fcbdb9aa4fc61349e5e879153c722195b1233

[1]https://github.com/openstack-dev/hacking/blob/master/setup.cfg#L30

Change-Id: I24b82c1913d3d42cc5228b1db700b787623fcdc5
2016-01-19 21:54:17 +08:00