Browse Source

Fix addon tag/version parsing

When doing rolling upgrade, the addon tag/version will be parsed
to make sure there is no downgrade. But if there is tag/version
is not well-formated, it can't be parsed by pbr.version.SemanticVersion.
This patch adds a catch to avoid throwing error and just skip
this case.

Task: 36186
Story: 2002210

Change-Id: I846cd0fd40a6607c36fff8992d98d8a55c49b3fa
changes/92/675492/2
Feilong Wang 3 years ago
parent
commit
b3a183dc50
  1. 12
      magnum/drivers/k8s_fedora_atomic_v1/driver.py

12
magnum/drivers/k8s_fedora_atomic_v1/driver.py

@ -56,9 +56,15 @@ class Driver(driver.KubernetesDriver):
if ((label.endswith('_tag') or
label.endswith('_version')) and label in heat_params):
current_addons[label] = heat_params[label]
if (SV.from_pip_string(new_addons[label]) <
SV.from_pip_string(current_addons[label])):
raise exception.InvalidVersion(tag=label)
try:
if (SV.from_pip_string(new_addons[label]) <
SV.from_pip_string(current_addons[label])):
raise exception.InvalidVersion(tag=label)
except Exception as e:
# NOTE(flwang): Different cloud providers may use different
# tag/version format which maybe not able to parse by
# SemanticVersion. For this case, let's just skip it.
LOG.debug("Failed to parse tag/version %s", str(e))
heat_params["server_image"] = cluster_template.image_id
heat_params["master_image"] = cluster_template.image_id

Loading…
Cancel
Save