network: Move TaaS commands to a separate entrypoint group
Resolve a TODO from the review round. Change-Id: I819f6b8545081037a500bebefcbde898e62fdcc5 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
@@ -23,6 +23,7 @@ DEFAULT_API_VERSION = '2.0'
|
||||
API_VERSION_OPTION = 'os_network_api_version'
|
||||
API_NAME = 'network'
|
||||
API_VERSIONS = ('2.0', '2')
|
||||
API_EXTENSIONS = ('taas',)
|
||||
|
||||
|
||||
def make_client(instance):
|
||||
|
||||
@@ -118,15 +118,42 @@ class OpenStackShell(shell.OpenStackShell):
|
||||
},
|
||||
)
|
||||
|
||||
# Command groups deal only with major versions
|
||||
version = '.v' + version_opt.replace('.', '_').split('_')[0]
|
||||
cmd_group = 'openstack.' + api.replace('-', '_') + version
|
||||
# Build our command group which we expect to look like:
|
||||
#
|
||||
# openstack.<service>.vN
|
||||
#
|
||||
# Note that command groups deal only with major versions
|
||||
cmd_group = '.'.join(
|
||||
[
|
||||
'openstack',
|
||||
api.replace('-', '_'),
|
||||
'v' + version_opt.replace('.', '_').split('_')[0],
|
||||
]
|
||||
)
|
||||
self.command_manager.add_command_group(cmd_group)
|
||||
self.log.debug(
|
||||
'%(name)s API version %(version)s, cmd group %(group)s',
|
||||
{'name': api, 'version': version_opt, 'group': cmd_group},
|
||||
)
|
||||
|
||||
mod_extensions = getattr(mod, 'API_EXTENSIONS', None)
|
||||
if not mod_extensions:
|
||||
continue
|
||||
|
||||
for extension in mod_extensions:
|
||||
extension_cmd_group = '.'.join([cmd_group, extension])
|
||||
self.command_manager.add_command_group(extension_cmd_group)
|
||||
self.log.debug(
|
||||
'%(name)s API version %(version)s '
|
||||
'(%(extension)s extension), cmd group %(group)s',
|
||||
{
|
||||
'name': api,
|
||||
'version': version_opt,
|
||||
'extension': extension,
|
||||
'group': cmd_group,
|
||||
},
|
||||
)
|
||||
|
||||
def _load_commands(self):
|
||||
"""Load commands via cliff/stevedore
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ authors = [
|
||||
readme = {file = "README.rst", content-type = "text/x-rst"}
|
||||
license = {text = "Apache-2.0"}
|
||||
dynamic = ["version", "dependencies"]
|
||||
# dependencies = [ ]
|
||||
requires-python = ">=3.10"
|
||||
classifiers = [
|
||||
"Environment :: OpenStack",
|
||||
@@ -27,10 +26,6 @@ classifiers = [
|
||||
"Programming Language :: Python :: 3.13",
|
||||
]
|
||||
|
||||
# [project.optional-dependencies]
|
||||
# test = [
|
||||
# ]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://docs.openstack.org/python-openstackclient/"
|
||||
Repository = "https://opendev.org/openstack/python-openstackclient/"
|
||||
@@ -540,7 +535,7 @@ subnet_pool_set = "openstackclient.network.v2.subnet_pool:SetSubnetPool"
|
||||
subnet_pool_show = "openstackclient.network.v2.subnet_pool:ShowSubnetPool"
|
||||
subnet_pool_unset = "openstackclient.network.v2.subnet_pool:UnsetSubnetPool"
|
||||
|
||||
# Tap-as-a-Service
|
||||
[project.entry-points."openstack.network.v2.taas"]
|
||||
tap_flow_create = "openstackclient.network.v2.taas.tap_flow:CreateTapFlow"
|
||||
tap_flow_delete = "openstackclient.network.v2.taas.tap_flow:DeleteTapFlow"
|
||||
tap_flow_list = "openstackclient.network.v2.taas.tap_flow:ListTapFlow"
|
||||
|
||||
Reference in New Issue
Block a user