The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.
Note that redirects will be set up as well but let's point now to the
new location.
For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html
Change-Id: Id60f5c97058646c19a8a9d0befc56e9e97b202d8
keystoneauth uses os-service-types as a run time dependency.
os-service-types uses keystoneauth as a testing dependency. This causes
an issue for packagers: in order to run the unit tests at build time,
an os-service-types package must include keystoneauth as a build
dependency, but since keystoneauth includes os-service-types as a run
time dependency, it causes a circular dependency.
To make it easier on packagers, this patch changes the usage of
keystoneauth in the tests to only be used by the TestRemote class
instead of the base TestCase class. This way, a packager could avoid
including keystoneauth as a build dependency by choosing to skip just
the problematic os-service-types test instead of skipping the entire
test suite.
Change-Id: I7f8da9c09f20ae808e1dc7aef2341396d91e7cf4
In consuming code in openstacksdk and keystoneauth, the pattern:
if stm.is_official(service_type):
return stm.get_service_type(service_type)
return service_type
Gets used in several places. Let's provide a way to say that with a
flag:
return std.get_service_type(service_type, permissive=True)
which says "get me the official service_type for this, but if it's not
something I know about, give me the thing the user asked for.
Change-Id: Ib8fb14a88ecc690da67967b7e906deb7d923f869
-'s vs. _'s is a thing people can get wrong from time to time. If
someone says "I want block_storage" - we know what they mean - or at
least we can.
Change-Id: I97c65c25ae8e787f4bfedab54db619d98a16f037
The service type authority is publishing three new pre-computed
mappings. Add getters to expose them and use them where appropriate.
Also, add a method that will return all of the service data for a
project with more than one service to complement the one that only
returns the primary data.
Depends-On: Ib761cf9de875e7b80404797d4aa8d294ca56347a
Change-Id: I78d2dfa03a5a0c392a85a7a77612098b4b01f70e
The data now allows marking a service as secondary to support
placement/compute in nova. Support that in by_project.
Adds placement to the built-in data so that we can see the testing of
it. We should not approve this patch until approving the Add placement
service patch.
Change-Id: I01ad2934bdcb9346f4af88520f572d9b4f852b5d
There have been two changes to service-types-authority data which break
the unittests for os-service-types. Some of the url schemes were set to
https instead of http, and the order of the volume aliases changed.
Update the unittests so that we can sync data updates again. Sync one by
hand to verify the updates.
Change-Id: Ic323db63b1ab8e74284bdd32a858cb1722a0d4ed
Depends-On: I3086dcfb85f5ca9970f018d503c9378f307a3e73
Refresh the local copy of service-types.json with the latest version
from service-types-authority.
Change-Id: If9780d7896c05f02e29bc5bd14ad6beec3a1c267
If session and only_remote conflict, we should throw an error. Otherwise
saying "session=None, only_remote=True" silently does not fetch remotely
and returns builtins.
While we're in there, clean up review feedback.
Change-Id: I70db70a541a3401bb57b2003a90333adb3508b51
The ServiceTypes class is the main entry point for python programmers.
It should allow them to answer the questions they have about the data
without necessarily walking the structure. It can also return the raw
structure if people want to get at it.
We need to know the project codename for services for doing API doc
publication validation and also for being able to send legacy
microversion headers. The information is in the data, use it.
In order to construct and send microversion headers for projects with
aliases, we need to know ALL of the aliases plus the official name,
because we don't know which one of the values will be the correct name
the service is looking for for a given version. The microversion spec,
however, requires that consumers be able to handle a header that
contains a list of services and to ignore the ones it isn't looking for.
By providing a a list of all the possible values we make it easy to
construct a header for a service given a service_type that should work
for all known identifiers of the service and that is future compatible
with the service-type and microversion specifyier aligning.
Co-Authored-By: Doug Hellmann <doug@doughellmann.com>
Change-Id: I57641c9e3c27688b6d7709b1bb07292740d26659