| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This reverts commit 1f9e2cd123b38a7e744fb8a784d0ee3b523de95e.
Sad as this makes me, let's revert and come back to it when we figure
out the cliff thing.
Change-Id: I0413d5e3b3d8652833a8e7942ba81926787ba3bf
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Cloud config was passed to osc-lib before being normalized,
causing exceptions when some api versions were stil an int
where osc-lib expects a str
Change-Id: I7326114d86a4208f1489c302e8bb838dd5b8c5d6
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was a workaround for python-openstackclient back when it was still
dependent on keystoneclient. OSC has its own workaround now, so this
should no longer be needed.
Change-Id: Ib1877b7978b7b016b394232235e887360b6bdf85
|
| | |
| | |
| | |
| | | |
Change-Id: I1704b6e26a3c56b519544ad8ee6d3fd80a2a752a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For backwards compat with what operators have been trained to do, map
token_endpoint to admin_token for them. This has shown up a few times in
the wild. Most recently:
https://github.com/ansible/ansible-modules-core/issues/5250
Change-Id: Ie083381e7fda19e016b6425939bd3c2dc260fa9b
|
|\ \ \
| |/ / |
|
| |/
| |
| |
| |
| |
| |
| | |
There is a bug in validate_auth that gets hidden by validate_auth_ksc.
These tests are the test fixes for it.
Change-Id: I80d558a1c794725ba2a87fbd87bf8fbdf6633bee
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Words cannot begin to adequately express the disappointment and rage I
felt upon learning that the cinder team had unleashed 'volumev3' upon
the world. Woe betide us, the mere users, for wanting to use a 'volume'
endpoint and have that choice mean something. Perhaps if we beat
ourselves with leather straps while crawling for days across the country
we can remove more joy from our lives. In the meantime, until we can
fully appreciate the existential crisis of being, let's continue to work
around it in os-client-config.
Change-Id: I171e3b01497b3e3a06c3a73577f0f67e0c1e6f73
|
|/
|
|
|
|
|
| |
This change adds an example in order to clarif how to SSL settings in
configuration files.
Change-Id: Id047f21d0a51752f46b16e3f4efbfec62cfbd5fb
|
|
|
|
|
|
| |
Turns out they don't run v2.
Change-Id: Icd503f2b035400fbb39903b3fe2542ec14b86e93
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The docstring of the `get_session_endpoint` says ":returns: Endpoint
for the service, or None if not found" but apparently the `None` part
was forgotten.
This leads to this kind of spectacular traceback where the exception
bubles up (even through Shade):
Traceback (most recent call last):
File ".tox/run/bin/ospurge", line 11, in <module>
load_entry_point('ospurge', 'console_scripts', 'ospurge')()
File "/path/ospurge/main.py", line 154, in main
for resource in resource_manager.list():
File "/path/ospurge/resources/swift.py", line 15, in list
for container in self.cloud.list_containers():
File "/path/pkg/shade/openstackcloud.py", line 4909, in list_containers
full_listing=full_listing))
File "/path/pkg/shade/task_manager.py", line 244, in submit_task
return task.wait(raw)
File "/path/pkg/shade/task_manager.py", line 121, in wait
super(Task, self).wait()
File "/path/pkg/shade/task_manager.py", line 96, in wait
self._traceback)
File "/path/pkg/six.py", line 686, in reraise
raise value
File "/path/pkg/shade/task_manager.py", line 105, in run
self.done(self.main(client))
File "/path/pkg/shade/_tasks.py", line 549, in main
return client.swift_client.get_account(**self.args)[1]
File "/path/pkg/shade/openstackcloud.py", line 849, in swift_client
'object-store', swiftclient.client.Connection)
File "/path/pkg/shade/openstackcloud.py", line 343, in _get_client
**kwargs)
File "/path/pkg/os_client_config/cloud_config.py", line 301, in get_legacy_client
return self._get_swift_client(client_class=client_class, **kwargs)
File "/path/pkg/os_client_config/cloud_config.py", line 369, in _get_swift_client
endpoint = self.get_session_endpoint(service_key='object-store')
File "/path/pkg/os_client_config/cloud_config.py", line 253, in get_session_endpoint
region_name=self.region)
File "/path/pkg/keystoneauth1/session.py", line 765, in get_endpoint
return auth.get_endpoint(self, **kwargs)
File "/path/pkg/keystoneauth1/identity/base.py", line 216, in get_endpoint
service_name=service_name)
File "/path/pkg/positional/__init__.py", line 101, in inner
return wrapped(*args, **kwargs)
File "/path/pkg/keystoneauth1/access/service_catalog.py", line 228, in url_for
raise exceptions.EndpointNotFound(msg)
keystoneauth1.exceptions.catalog.EndpointNotFound: public endpoint for
object-store service in RegionOne region not found
Change-Id: Idbf5081117bb0a13d04a1a5cb9fd7682baaf04e5
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
OS_CLOUD and OS_REGION_NAME are both selectors. If they are the only
values, we should not be creating an envvars cloud.
Change-Id: I1b7c8d7e3b6c300bd2c85ab482a22411370e4d5f
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | | |
Change-Id: I72a16e15e61c8e6511b96114cc74e3feb7dc6fd3
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
shade needs to be able to attach an adapter wrapper to an already
constructed CloudConfig object, so add a setter.
Change-Id: I640859b5d78d17e3c99e8ec11f1418f275e4dea2
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 8b7859e21e64027d20f158737bbf70bbe409b847.
python-openstackclient has a subclass that defines this method with a
different signature.
Change-Id: Ie44f8efb6b93dc0d4754fb316ddb9087ce181275
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.
Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.
Change-Id: Ic34d4d11adf4aacd91a7fd682a6d15597004ff49
|
|\ \ |
|
| |/
| |
| |
| |
| | |
Change-Id: I52bdc44800da6c1393a69c4faf96375235ef98bb
Closes-Bug: #1627690
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We really should run py35 tests when we run "tox" without any
arguments.
I2a4a6ca01d7cca83f594008960c878a18ca08e8e is going to make
the py35 job voting.
Change-Id: Ibd77e39c53f00357344be8acc2949e1bc1adcc84
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Following OpenStack Style Guidelines[1]:
[H203] Unit test assertions tend to give better messages for more
specific assertions. As a result, assertIsNone(...) is preferred
over assertEqual(None, ...) and assertIs(None, ...)
[1] http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
Change-Id: I4ce1745a90b043ea342fb157683b01f862c1bc3d
|
|/
|
|
| |
Change-Id: Id7df70e3cfaa29218c2e2badefcbc8a296d86f8d
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
In case someone wants to do validate=False at get_one_cloud time, but
still would like to get an auth plugin, having this block be its own
method is handy.
Change-Id: I26137391e67d60d8737473d3d4c6ed15dad53af1
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes it's useful to wrapp the keystoneauth.Session object. OSC has
a KeystoneSession object that injects timing data. shade is considering
one that wraps external calls in shade's TaskManager. Allow for passing
in a callable that will return a Session.
Almost no people will want to use this - it's a super advanced kind of
thing.
Change-Id: Ib64260916695e9fbea437862cd669a4fb85ec9e4
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: I829a65b2104ec3c039859dce2594b701981b1fa3
|
|/
|
|
|
|
|
|
| |
The release notes system exists in parallel and publishes to
http://docs.openstack.org/releasenotes/os-client-config/. When we build
them in the normal doc build, it causes problems for distro packagers.
Change-Id: I6b084a1ad6836beac991d03c5f134203512150ac
|
|
|
|
|
|
|
|
| |
The right thing is to use "regions" as a yaml list. However, it's even
more right to be friendly to people - we emit a warning about
region_name as a list anyway.
Change-Id: Ia0b27ef8d1d52c655c2736a97bd5e59a4a2fe9d8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Teach OpenStackConfig to prompt the user for KSA plugin options
that have no value but have a prompt string defined.
* Add pw_func argument to __init__() to be used as the callback
for prompting the user. The default is None which skips the
prompt step.
* Add option_prompt() method to perform the checks for prompting,
call the callback and save the returned value. This is public
to handle cases where simply passing in a callback is insufficient
for the prompt mechanism.
Related-Bug: #1617384
Change-Id: I5faa86e94d6f71282ac270e2acfbd3016638c780
|
|
|
|
|
|
|
|
|
|
|
|
| |
The IBM Cloud isn't really a thing at that address yet (jumped the gun)
OSIC probably shouldn't have been added either (turns out there are like
8 OSIC clouds currently, and they're test clouds.
Also, update the location on the RegionOne clouds, and rename "Human
Name" to "Location" - which is the useful information in that column
anyway.
Change-Id: I04451836330aacc3e2b91cfbe7d7d9bba7a47346
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Revert most of 'fixed_argparse change' from 1.19.1
* Create a new _validate_auth_correctly() method that contains the
logic from 1.19.0
* Create a new get_one_cloud_osc() method for use by OSC to get
the correct argument precedence without disrupting anyone else
Change-Id: Iae86cc4e267f23dbe8d010688a288db5514f329d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some clouds, like OSIC and v1 of DreamCompute, have a split stack
network. This means that a single Neutron Network has both an IPv4 and
an IPv6 subnet, but that the IPv4 subnet is a private/RFC-1918 and the
IPv6 subnet is a Global network. As any inferrance information is
attached to the Network, it's impossible to properly categorize IP
addresses that are on the Server in such a scenario.
Add support for ipv4 and ipv6 versions of the current routes_externally
config value, with each of them defaulting to the value of the
un-specialized routes_externally.
Change-Id: I1e87a1423d20eac31175f44f5f7b38dfcf3a11cb
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* Add sin01 and sjc01 regions
* Add support for Glance v2
Change-Id: Iaf4ad7c807a28c24040b928f65f4aadc1a234d6e
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This should cover both the OSC and the ansible incoming use cases.
Change-Id: I3fdc83837692d31c5579d91892a387a5d1023785
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|