summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zuul.yaml1
-rw-r--r--bindep.txt7
-rw-r--r--doc/source/conf.py1
-rw-r--r--keystoneclient/tests/unit/v3/test_auth_manager.py14
-rw-r--r--keystoneclient/v3/auth.py23
-rw-r--r--keystoneclient/v3/system.py26
-rw-r--r--releasenotes/source/index.rst4
-rw-r--r--releasenotes/source/victoria.rst6
-rw-r--r--releasenotes/source/wallaby.rst6
-rw-r--r--releasenotes/source/xena.rst6
-rw-r--r--releasenotes/source/yoga.rst6
-rw-r--r--setup.cfg8
12 files changed, 99 insertions, 9 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 12a5dd2..2117810 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -18,7 +18,6 @@
- project:
templates:
- openstack-cover-jobs
- - openstack-lower-constraints-jobs
- openstack-python3-victoria-jobs
- publish-openstack-docs-pti
- check-requirements
diff --git a/bindep.txt b/bindep.txt
index d179369..0d0f6ac 100644
--- a/bindep.txt
+++ b/bindep.txt
@@ -2,7 +2,8 @@
# see https://docs.openstack.org/infra/bindep/ for additional information.
gettext
-libssl-dev
+libssl-dev [platform:dpkg]
+openssl-devel [platform:rpm]
dbus-devel [platform:rpm]
dbus-glib-devel [platform:rpm]
@@ -18,6 +19,4 @@ python3-all-dev [platform:dpkg]
cyrus-sasl-devel [platform:rpm]
libxml2-devel [platform:rpm]
-python-devel [platform:rpm]
-python3-devel [platform:fedora]
-python34-devel [platform:centos]
+python3-devel [platform:rpm]
diff --git a/doc/source/conf.py b/doc/source/conf.py
index f31dc2c..9c98458 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -170,6 +170,7 @@ htmlhelp_basename = 'python-keystoneclientdoc'
apidoc_module_dir = '../../keystoneclient'
apidoc_output_dir = 'api'
apidoc_excluded_paths = [
+ 'fixture',
'tests',
]
diff --git a/keystoneclient/tests/unit/v3/test_auth_manager.py b/keystoneclient/tests/unit/v3/test_auth_manager.py
index 1857960..dec8b0c 100644
--- a/keystoneclient/tests/unit/v3/test_auth_manager.py
+++ b/keystoneclient/tests/unit/v3/test_auth_manager.py
@@ -62,3 +62,17 @@ class AuthProjectsTest(utils.ClientTestCase):
for d in domains:
self.assertIsInstance(d, auth.Domain)
+
+ def test_get_systems(self):
+ body = {'system': [{
+ 'all': True,
+ }]}
+
+ self.stub_url('GET', ['auth', 'system'], json=body)
+
+ systems = self.client.auth.systems()
+ system = systems[0]
+
+ self.assertEqual(1, len(systems))
+ self.assertIsInstance(system, auth.System)
+ self.assertTrue(system.all)
diff --git a/keystoneclient/v3/auth.py b/keystoneclient/v3/auth.py
index 6b8d6e9..4d85e24 100644
--- a/keystoneclient/v3/auth.py
+++ b/keystoneclient/v3/auth.py
@@ -16,10 +16,12 @@ from keystoneauth1 import plugin
from keystoneclient import base
from keystoneclient.v3 import domains
from keystoneclient.v3 import projects
+from keystoneclient.v3 import system
Domain = domains.Domain
Project = projects.Project
+System = system.System
class AuthManager(base.Manager):
@@ -31,6 +33,7 @@ class AuthManager(base.Manager):
_PROJECTS_URL = '/auth/projects'
_DOMAINS_URL = '/auth/domains'
+ _SYSTEM_URL = '/auth/system'
def projects(self):
"""List projects that the specified token can be rescoped to.
@@ -67,3 +70,23 @@ class AuthManager(base.Manager):
'domains',
obj_class=Domain,
endpoint_filter=endpoint_filter)
+
+ def systems(self):
+ """List Systems that the specified token can be rescoped to.
+
+ At the moment this is either empty or "all".
+
+ :returns: a list of systems.
+ :rtype: list of :class:`keystoneclient.v3.systems.System`.
+
+ """
+ try:
+ return self._list(self._SYSTEM_URL,
+ 'system',
+ obj_class=System)
+ except exceptions.EndpointNotFound:
+ endpoint_filter = {'interface': plugin.AUTH_INTERFACE}
+ return self._list(self._SYSTEM_URL,
+ 'system',
+ obj_class=System,
+ endpoint_filter=endpoint_filter)
diff --git a/keystoneclient/v3/system.py b/keystoneclient/v3/system.py
new file mode 100644
index 0000000..8d3edaf
--- /dev/null
+++ b/keystoneclient/v3/system.py
@@ -0,0 +1,26 @@
+# Copyright 2021 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from keystoneclient import base
+
+
+class System(base.Resource):
+ """Represents the deployment system, with all the services in it.
+
+ Attributes:
+ * all: boolean
+ """
+
+ pass
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
index 71b3c14..daa120b 100644
--- a/releasenotes/source/index.rst
+++ b/releasenotes/source/index.rst
@@ -6,6 +6,10 @@
:maxdepth: 1
unreleased
+ yoga
+ xena
+ wallaby
+ victoria
ussuri
train
stein
diff --git a/releasenotes/source/victoria.rst b/releasenotes/source/victoria.rst
new file mode 100644
index 0000000..4efc7b6
--- /dev/null
+++ b/releasenotes/source/victoria.rst
@@ -0,0 +1,6 @@
+=============================
+Victoria Series Release Notes
+=============================
+
+.. release-notes::
+ :branch: stable/victoria
diff --git a/releasenotes/source/wallaby.rst b/releasenotes/source/wallaby.rst
new file mode 100644
index 0000000..d77b565
--- /dev/null
+++ b/releasenotes/source/wallaby.rst
@@ -0,0 +1,6 @@
+============================
+Wallaby Series Release Notes
+============================
+
+.. release-notes::
+ :branch: stable/wallaby
diff --git a/releasenotes/source/xena.rst b/releasenotes/source/xena.rst
new file mode 100644
index 0000000..1be85be
--- /dev/null
+++ b/releasenotes/source/xena.rst
@@ -0,0 +1,6 @@
+=========================
+Xena Series Release Notes
+=========================
+
+.. release-notes::
+ :branch: stable/xena
diff --git a/releasenotes/source/yoga.rst b/releasenotes/source/yoga.rst
new file mode 100644
index 0000000..7cd5e90
--- /dev/null
+++ b/releasenotes/source/yoga.rst
@@ -0,0 +1,6 @@
+=========================
+Yoga Series Release Notes
+=========================
+
+.. release-notes::
+ :branch: stable/yoga
diff --git a/setup.cfg b/setup.cfg
index 2c48432..0210957 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,12 +1,12 @@
[metadata]
name = python-keystoneclient
summary = Client Library for OpenStack Identity
-description-file =
+description_file =
README.rst
author = OpenStack
-author-email = openstack-discuss@lists.openstack.org
-home-page = https://docs.openstack.org/python-keystoneclient/latest/
-python-requires = >=3.6
+author_email = openstack-discuss@lists.openstack.org
+home_page = https://docs.openstack.org/python-keystoneclient/latest/
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology