Add a simple extension hook
This enables stand-alone modules to hook in to the command-line handler in a dedicated API namespace. These extensions have access to the existing clients via the client manager but no way to add another client to the manager is provided.. blueprint client-extensions Change-Id: I4b2eaa780d8ba881db23d950d09b8702e9e314ef
This commit is contained in:
parent
6fae83b935
commit
4fd5dd3b1a
@ -298,7 +298,6 @@ class OpenStackShell(App):
|
|||||||
super(OpenStackShell, self).initialize_app(argv)
|
super(OpenStackShell, self).initialize_app(argv)
|
||||||
|
|
||||||
# stash selected API versions for later
|
# stash selected API versions for later
|
||||||
# TODO(dtroyer): how do extenstions add their version requirements?
|
|
||||||
self.api_version = {
|
self.api_version = {
|
||||||
'compute': self.options.os_compute_api_version,
|
'compute': self.options.os_compute_api_version,
|
||||||
'identity': self.options.os_identity_api_version,
|
'identity': self.options.os_identity_api_version,
|
||||||
@ -312,6 +311,19 @@ class OpenStackShell(App):
|
|||||||
self.command_manager.add_command_group(
|
self.command_manager.add_command_group(
|
||||||
'openstack.' + api + version)
|
'openstack.' + api + version)
|
||||||
|
|
||||||
|
# This is the naive extension implementation referred to in
|
||||||
|
# blueprint 'client-extensions'
|
||||||
|
# Extension modules can register their commands in an
|
||||||
|
# 'openstack.extension' entry point group:
|
||||||
|
# entry_points={
|
||||||
|
# 'openstack.extension': [
|
||||||
|
# 'list_repo=qaz.github.repo:ListRepo',
|
||||||
|
# 'show_repo=qaz.github.repo:ShowRepo',
|
||||||
|
# ],
|
||||||
|
# }
|
||||||
|
self.command_manager.add_command_group(
|
||||||
|
'openstack.extension')
|
||||||
|
|
||||||
# Handle deferred help and exit
|
# Handle deferred help and exit
|
||||||
if self.options.deferred_help:
|
if self.options.deferred_help:
|
||||||
self.DeferredHelpAction(self.parser, self.parser, None, None)
|
self.DeferredHelpAction(self.parser, self.parser, None, None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user