summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openstackclient/shell.py4
-rw-r--r--releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml7
2 files changed, 10 insertions, 1 deletions
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index e08eee61..d7fe6ac1 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -76,7 +76,9 @@ class OpenStackShell(shell.OpenStackShell):
# Loop through extensions to get API versions
for mod in clientmanager.PLUGIN_MODULES:
default_version = getattr(mod, 'DEFAULT_API_VERSION', None)
- option = mod.API_VERSION_OPTION.replace('os_', '')
+ # Only replace the first instance of "os", some service names will
+ # have "os" in their name, like: "antiddos"
+ option = mod.API_VERSION_OPTION.replace('os_', '', 1)
version_opt = str(self.cloud.config.get(option, default_version))
if version_opt:
api = mod.API_NAME
diff --git a/releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml b/releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml
new file mode 100644
index 00000000..b69e384d
--- /dev/null
+++ b/releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml
@@ -0,0 +1,7 @@
+---
+fixes:
+ - |
+ Fix wrong behavior of parsing plugin service name when the service name end
+ with keyword ``os``, like: antiddos. That cause the service api version
+ specified by users don't work.
+ [Bug `1658614 <https://bugs.launchpad.net/python-openstackclient/+bug/1658614>`_]