Skip to content

Commit 7d2ec3e

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "network: Move TaaS commands to a separate entrypoint group"
2 parents 64cf0c3 + 5b52873 commit 7d2ec3e

3 files changed

Lines changed: 32 additions & 9 deletions

File tree

openstackclient/network/client.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
API_VERSION_OPTION = 'os_network_api_version'
2424
API_NAME = 'network'
2525
API_VERSIONS = ('2.0', '2')
26+
API_EXTENSIONS = ('taas',)
2627

2728

2829
def make_client(instance):

openstackclient/shell.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,42 @@ def _load_plugins(self):
128128
},
129129
)
130130

131-
# Command groups deal only with major versions
132-
version = '.v' + version_opt.replace('.', '_').split('_')[0]
133-
cmd_group = 'openstack.' + api.replace('-', '_') + version
131+
# Build our command group which we expect to look like:
132+
#
133+
# openstack.<service>.vN
134+
#
135+
# Note that command groups deal only with major versions
136+
cmd_group = '.'.join(
137+
[
138+
'openstack',
139+
api.replace('-', '_'),
140+
'v' + version_opt.replace('.', '_').split('_')[0],
141+
]
142+
)
134143
self.command_manager.add_command_group(cmd_group)
135144
self.log.debug(
136145
'%(name)s API version %(version)s, cmd group %(group)s',
137146
{'name': api, 'version': version_opt, 'group': cmd_group},
138147
)
139148

149+
mod_extensions = getattr(mod, 'API_EXTENSIONS', None)
150+
if not mod_extensions:
151+
continue
152+
153+
for extension in mod_extensions:
154+
extension_cmd_group = '.'.join([cmd_group, extension])
155+
self.command_manager.add_command_group(extension_cmd_group)
156+
self.log.debug(
157+
'%(name)s API version %(version)s '
158+
'(%(extension)s extension), cmd group %(group)s',
159+
{
160+
'name': api,
161+
'version': version_opt,
162+
'extension': extension,
163+
'group': cmd_group,
164+
},
165+
)
166+
140167
def _load_commands(self):
141168
"""Load commands via cliff/stevedore
142169

pyproject.toml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ authors = [
1111
readme = {file = "README.rst", content-type = "text/x-rst"}
1212
license = {text = "Apache-2.0"}
1313
dynamic = ["version", "dependencies"]
14-
# dependencies = [ ]
1514
requires-python = ">=3.10"
1615
classifiers = [
1716
"Environment :: OpenStack",
@@ -27,10 +26,6 @@ classifiers = [
2726
"Programming Language :: Python :: 3.13",
2827
]
2928

30-
# [project.optional-dependencies]
31-
# test = [
32-
# ]
33-
3429
[project.urls]
3530
Homepage = "https://docs.openstack.org/python-openstackclient/"
3631
Repository = "https://opendev.org/openstack/python-openstackclient/"
@@ -540,7 +535,7 @@ subnet_pool_set = "openstackclient.network.v2.subnet_pool:SetSubnetPool"
540535
subnet_pool_show = "openstackclient.network.v2.subnet_pool:ShowSubnetPool"
541536
subnet_pool_unset = "openstackclient.network.v2.subnet_pool:UnsetSubnetPool"
542537

543-
# Tap-as-a-Service
538+
[project.entry-points."openstack.network.v2.taas"]
544539
tap_flow_create = "openstackclient.network.v2.taas.tap_flow:CreateTapFlow"
545540
tap_flow_delete = "openstackclient.network.v2.taas.tap_flow:DeleteTapFlow"
546541
tap_flow_list = "openstackclient.network.v2.taas.tap_flow:ListTapFlow"

0 commit comments

Comments
 (0)