helm: Accept release candidate versions for compatibility checks (#745)

SUMMARY

If the helm CLI version includes -rc.1 for example, the version checks fails due to an incomplete regex.
The error can be triggered if you use helm v3.15.0-rc.1 for example, and apply a helm chart with wait: true 
ISSUE TYPE


Bugfix Pull Request

COMPONENT NAME
helm
helm_pull
ADDITIONAL INFORMATION

Reviewed-by: Yuriy Novostavskiy
Reviewed-by: Eric G.
Reviewed-by: Mike Graves <mgraves@redhat.com>
This commit is contained in:
Eric G
2024-06-17 20:58:42 +02:00
committed by GitHub
parent 5064d722c3
commit 6a04f42d0b
3 changed files with 8 additions and 2 deletions

View File

@@ -0,0 +1,2 @@
bugfixes:
- helm - Helm version checks did not support RC versions. They now accept any version tags. (https://github.com/ansible-collections/kubernetes.core/pull/745).

View File

@@ -184,10 +184,10 @@ class AnsibleHelmModule(object):
def get_helm_version(self): def get_helm_version(self):
command = self.get_helm_binary() + " version" command = self.get_helm_binary() + " version"
rc, out, err = self.run_command(command) rc, out, err = self.run_command(command)
m = re.match(r'version.BuildInfo{Version:"v([0-9\.]*)",', out) m = re.match(r'version.BuildInfo{Version:"v(.*?)",', out)
if m: if m:
return m.group(1) return m.group(1)
m = re.match(r'Client: &version.Version{SemVer:"v([0-9\.]*)", ', out) m = re.match(r'Client: &version.Version{SemVer:"v(.*?)", ', out)
if m: if m:
return m.group(1) return m.group(1)
return None return None

View File

@@ -200,6 +200,10 @@ def test_module_get_values(_ansible_helm_module, no_values, get_all):
'version.BuildInfo{Version:"v3.10.3", GitCommit:7870ab3ed4135f136eec, GoVersion:"go1.18.9"}', 'version.BuildInfo{Version:"v3.10.3", GitCommit:7870ab3ed4135f136eec, GoVersion:"go1.18.9"}',
"3.10.3", "3.10.3",
), ),
(
'version.BuildInfo{Version:"v3.15.0-rc.1", GitCommit:"d7afa3b6b432c09a02cd07342e908ba5bed34940", GitTreeState:"clean", GoVersion:"go1.22.4"}',
"3.15.0-rc.1",
),
('Client: &version.Version{SemVer:"v3.12.3", ', "3.12.3"), ('Client: &version.Version{SemVer:"v3.12.3", ', "3.12.3"),
('Client: &version.Version{SemVer:"v3.12.3"', None), ('Client: &version.Version{SemVer:"v3.12.3"', None),
], ],