From 3861f54d7dfe56c9d3ad210b730896e23849e983 Mon Sep 17 00:00:00 2001 From: Gonzalo Rafuls Date: Tue, 22 Oct 2024 08:36:25 +0200 Subject: [PATCH] fix: clearing vlan via cli closes: https://github.com/redhat-performance/quads/issues/539 Change-Id: Ia863a8c51d76405d16060a50addb25dee15d6eca --- src/quads/cli/cli.py | 3 +-- src/quads/server/blueprints/assignments.py | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/quads/cli/cli.py b/src/quads/cli/cli.py index 299b3887..b8503250 100644 --- a/src/quads/cli/cli.py +++ b/src/quads/cli/cli.py @@ -976,8 +976,7 @@ def action_modcloud(self): try: clean_data["vlan"] = int(self.cli_args.get("vlan")) except (TypeError, ValueError) as ཀʖ̯ཀ: # pragma: no cover - self.logger.debug(ཀʖ̯ཀ, exc_info=ཀʖ̯ཀ) - raise CliException("Could not parse vlan id. Only integers accepted.") + clean_data["vlan"] = None if "wipe" in self.cli_args: clean_data["wipe"] = self.cli_args.get("wipe") diff --git a/src/quads/server/blueprints/assignments.py b/src/quads/server/blueprints/assignments.py index 1f9e9ec6..e5f7d8c6 100644 --- a/src/quads/server/blueprints/assignments.py +++ b/src/quads/server/blueprints/assignments.py @@ -223,7 +223,7 @@ def update_assignment(assignment_id: str) -> Response: update_fields = {} for attr in obj_attrs: value = data.get(attr.key) - if value is not None: + if value is not None or attr.key == "vlan": if attr.key == "ccuser": value = re.split(r"[, ]+", value) value = [user.strip() for user in value] @@ -238,6 +238,9 @@ def update_assignment(assignment_id: str) -> Response: return make_response(jsonify(response), 400) value = _cloud if attr.key == "vlan": + if value is None: + update_fields[attr.key] = value + continue _vlan = VlanDao.get_vlan(value) if not _vlan: response = {