Skip to content

Commit edaf94b

Browse files
author
REDMOND\japras
committed
Fix validations for version and auto-upgrade-mode combinations and import issues for azure-mgmt-network
1 parent d08a773 commit edaf94b

2 files changed

Lines changed: 22 additions & 12 deletions

File tree

src/k8s-extension/azext_k8s_extension/custom.py

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,6 @@ def create_k8s_extension(
229229
extension_instance.auto_upgrade_mode,
230230
)
231231
__validate_auto_upgrade_mode(
232-
extension_instance.version,
233232
extension_instance.auto_upgrade_minor_version,
234233
extension_instance.auto_upgrade_mode,
235234
)
@@ -352,7 +351,6 @@ def update_k8s_extension(
352351
)
353352

354353
__validate_auto_upgrade_mode(
355-
upd_extension.version,
356354
upd_extension.auto_upgrade_minor_version,
357355
upd_extension.auto_upgrade_mode,
358356
)
@@ -949,18 +947,29 @@ def __validate_version_and_auto_upgrade(version, auto_upgrade_minor_version, aut
949947
message = "To pin to specific version, auto-upgrade-minor-version must be set to 'false'."
950948
raise MutuallyExclusiveArgumentError(message)
951949

952-
auto_upgrade_minor_version = False
953-
954-
if auto_upgrade_minor_version is not None and auto_upgrade_mode is not None:
955-
message = "auto-upgrade-mode cannot be specified together with auto-upgrade-minor-version."
956-
raise MutuallyExclusiveArgumentError(message)
957-
950+
if auto_upgrade_mode is None:
951+
# Allow explicit '--auto-upgrade false' with a pinned version even when
952+
# '--auto-upgrade-mode' is omitted.
953+
if auto_upgrade_minor_version is False:
954+
return
955+
message = "To pin to specific version, auto-upgrade-mode must be set to 'none'."
956+
raise RequiredArgumentMissingError(message)
957+
958+
normalized_auto_upgrade_mode = auto_upgrade_mode
959+
if hasattr(normalized_auto_upgrade_mode, "value"):
960+
normalized_auto_upgrade_mode = normalized_auto_upgrade_mode.value
961+
normalized_auto_upgrade_mode = str(normalized_auto_upgrade_mode).strip().lower()
962+
if "." in normalized_auto_upgrade_mode:
963+
normalized_auto_upgrade_mode = normalized_auto_upgrade_mode.split(".")[-1]
964+
965+
if normalized_auto_upgrade_mode != "none":
966+
message = "To pin to specific version, auto-upgrade-mode must be set to 'none'."
967+
raise MutuallyExclusiveArgumentError(message)
958968

959-
def __validate_auto_upgrade_mode(version, auto_upgrade_minor_version, auto_upgrade_mode):
960-
if version is not None and auto_upgrade_mode is not None:
961-
message = "To pin to specific version, auto-upgrade-mode must not be provided."
962-
raise MutuallyExclusiveArgumentError(message)
969+
auto_upgrade_minor_version = False
970+
auto_upgrade_mode = "none"
963971

972+
def __validate_auto_upgrade_mode(auto_upgrade_minor_version, auto_upgrade_mode):
964973
if auto_upgrade_minor_version is not None and auto_upgrade_mode is not None:
965974
message = "auto-upgrade-mode cannot be specified together with auto-upgrade-minor-version."
966975
raise MutuallyExclusiveArgumentError(message)

src/k8s-extension/setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
DEPENDENCIES = [
3434
"kubernetes==24.2.0",
3535
"oras==0.2.25",
36+
"azure-mgmt-network>=18.0.0",
3637
]
3738

3839
VERSION = "1.8.0"

0 commit comments

Comments
 (0)