Add CLI/ENV options and documentation for keystone-to-keystone

[0] introduced support for issuing calls to a service provider
using keystone-to-keystone federation. This patch introduces
support for CLI/ENV of those options and documentation.

[0]. Icbdb286f840ecd3a57c64ef69b9e55925439b2f1

Change-Id: Ia16f9ed8108617864e7be38e0e550717de8d6419
This commit is contained in:
Kristi Nikolla 2017-10-20 14:29:47 -04:00
parent 5de9eb4406
commit 0d427e544d
2 changed files with 55 additions and 0 deletions

View File

@ -254,6 +254,51 @@ class OpenStackShell(app.App):
' Valid interface types: [admin, public, internal].'
' (Env: OS_INTERFACE)'),
)
parser.add_argument(
'--os-service-provider',
metavar='<service_provider>',
dest='service_provider',
default=utils.env('OS_SERVICE_PROVIDER'),
help=_('Authenticate with and perform the command on a service'
' provider using Keystone-to-keystone federation. Must'
' also specify the remote project option.')
)
remote_project_group = parser.add_mutually_exclusive_group()
remote_project_group.add_argument(
'--os-remote-project-name',
metavar='<remote_project_name>',
dest='remote_project_name',
default=utils.env('OS_REMOTE_PROJECT_NAME'),
help=_('Project name when authenticating to a service provider'
' if using Keystone-to-Keystone federation.')
)
remote_project_group.add_argument(
'--os-remote-project-id',
metavar='<remote_project_id>',
dest='remote_project_id',
default=utils.env('OS_REMOTE_PROJECT_ID'),
help=_('Project ID when authenticating to a service provider'
' if using Keystone-to-Keystone federation.')
)
remote_project_domain_group = parser.add_mutually_exclusive_group()
remote_project_domain_group.add_argument(
'--os-remote-project-domain-name',
metavar='<remote_project_domain_name>',
dest='remote_project_domain_name',
default=utils.env('OS_REMOTE_PROJECT_DOMAIN_NAME'),
help=_('Domain name of the project when authenticating to a'
' service provider if using Keystone-to-Keystone'
' federation.')
)
remote_project_domain_group.add_argument(
'--os-remote-project-domain-id',
metavar='<remote_project_domain_id>',
dest='remote_project_domain_id',
default=utils.env('OS_REMOTE_PROJECT_DOMAIN_ID'),
help=_('Domain ID of the project when authenticating to a'
' service provider if using Keystone-to-Keystone'
' federation.')
)
parser.add_argument(
'--timing',
default=False,

View File

@ -0,0 +1,10 @@
---
features:
- |
Added new options `--os-service-provider`, `--os-remote-project-name`,
`--os-remote-project-domain-name`, `--os-remote-project-domain-id`, and
`--os-remote-project-id`. These can also be loaded from their respective
ENV variables (ex. `OS_SERVICE_PROVIDER` and `OS_REMOTE_PROJECT_ID`) and
allow issuing of commands to a federated cloud using keystone-to-keystone
identity federation. More information about keystone-to-keystone can be
found `here <https://specs.openstack.org/openstack/keystone-specs/specs/juno/keystone-to-keystone-federation.html>`_.