This repo was created by accident, use deb-python-os-client-config
instead.
Needed-By: I1ac1a06931c8b6dd7c2e73620a0302c29e605f03
Change-Id: I81894aea69b9d09b0977039623c26781093a397a
If the user specifies a project_{name,id}, then we currently infer that
a domain_{name,id} is meant to be shorthand for user_domain_{name,id} and
project_domain_{name,id}. However, in other contexts, domain_id is a
perfectly valid value to pass to the auth plugins - such as when doing
domain-scoped activities.
The problem that was uncovered by the correction of argument precedence
is that we didn't pop the domain-id out of the root config dict, so if a
user set OS_DOMAIN_ID in the environment, we were happily setting the
user and project versions, but then leaving domain_id set as well. This
then meant that when we do the pass to pull valid arguments from the
root dict to the auth dict, we also pulled in domain_id - which led to
the error:
AuthorizationFailure: Authentication cannot be scoped to multiple
targets. Pick one of: project, domain, trust or unscoped
Popping the value from the root dict causes the things to work as
documented.
Change-Id: I6d208e5ec4115d2e72d30b2fedc90a81ea754d5a
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
It does things the happy way - direct routing of IPv4 and IPv6. However,
it's a respin, so we're naming it dreamcompute rather than dreamhost so
that users don't get broken by the shift.
Remove dreamhost from the docs - people looking at documentation should
be using the new region.
Change-Id: I92eb38635c4389d2e9326fab038137a673497fa8
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
We've had one vendor cloud go away in the past, and there is one
existing deprecated cloud currently. Add support for providing the
user with an informative error message in the case where they
attempt to use such a cloud.
Change-Id: I894e0c0a4786e60fce1238bb2883828e89d44b01
We've had HP shut down their public cloud, and DreamHost has recent spun
up a new cloud with a different operational profile and auth_url that is
essentially a replacement cloud. That means people using the old
information need to do things, so we need to be able to communicate that
to them.
Add support for adding a deprecated status to a vendor profile, as well
as a verbose message explaining what the user may do to remediate.
Change-Id: I19b67d7cd71fba2d9da0e3a6adb2d229ead65396
Extract the magic argument fixes from get_ne_cloud() so they can be
extended or modified.
Needed by OSC in order to maintain compatibility due to the much
earlier loading of auth plugins than before. Have I mentioned
that really fouled things up for OSC?
Change-Id: I22cd890f9cbd605dcd615f82b3e65c58f52ff114
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
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
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
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
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
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
Everything in this file is automatically generated by pbr.
There appears to be no good reason to keep it around.
Change-Id: I73eb120dedbdb6685862d26493fc178e6dee1353
openstack/common was used to kepp copied files from
oslo-incubator, we don't use oslo-incubator stuff,
so remove it.
Change-Id: Id426c41e6ae277ed1f829820771d5ffc31a81166
Make it clear in the docs that default_interface and nat_destination can
each be set only once per cloud.
Change-Id: Ic862b9f4dc31580c4e192f13f100428bbec7faa2
Add support for indicating default_interface. Also, add some validation
and normalization code, some interface methods and, shockingly,
documentation.
Change-Id: Ib45b68894585ac02821d5d2376510fd7a8e8ee40
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