From e8b6a9f7be7e773396c8fe1021d8798aa0e2a4a9 Mon Sep 17 00:00:00 2001 From: Rui Chen Date: Mon, 6 Feb 2017 18:49:40 +0800 Subject: [PATCH] Fix wrong behavior of parsing plugin service name When the service name end with keyword "os", like: antiddos, the parsing logic isn't suitable, that cause the service api version specified by users don't work. Change-Id: I5d6217c77d7cd2d2f360d78d8561261398b96685 Closes-Bug: #1658614 --- openstackclient/shell.py | 4 +++- releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-1658614-f84a8cece6f2ef8c.yaml diff --git a/openstackclient/shell.py b/openstackclient/shell.py index e08eee61df..d7fe6ac193 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 0000000000..b69e384d72 --- /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 `_]