Skip to content

Commit ed3a370

Browse files
committed
Make env var a literal value
1 parent ebb07ca commit ed3a370

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

src/reactive/containerd.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
from charmhelpers.fetch.ubuntu_apt_pkg import Package
5353

5454
NVIDIA_SOURCES_FILE = "/etc/apt/sources.list.d/nvidia.list"
55+
NEEDRESTART_SUSPEND = "NEEDRESTART_SUSPEND"
5556

5657

5758
def apt_packages(packages: typing.Set[str]) -> typing.Mapping[str, Package]:
@@ -526,22 +527,21 @@ def _apt_restart_services(restart: bool):
526527
"""
527528
Context manager to conditionally restart services after apt operations.
528529
529-
Args:
530-
restart: whether to restart services after apt operations
530+
:param bool restart: whether to restart services after apt operations
531531
"""
532-
original = os.environ.get("NEEDRESTART_SUSPEND")
533-
log("Services will {}be restarted after apt operations.".format("" if restart else "not "))
532+
env = NEEDRESTART_SUSPEND
533+
original = os.environ.pop(env, None)
534+
log(f"Services will {'' if restart else 'not '}be restarted after apt operations.")
534535
if not restart:
535-
os.environ.update({"NEEDRESTART_SUSPEND": "1"})
536-
else:
537-
os.environ.pop("NEEDRESTART_SUSPEND", None)
536+
os.environ.update({env: "1"})
537+
538538
try:
539539
yield
540540
finally:
541541
if original is None:
542-
os.environ.pop("NEEDRESTART_SUSPEND", None)
542+
os.environ.pop(env, None)
543543
else:
544-
os.environ["NEEDRESTART_SUSPEND"] = original
544+
os.environ[env] = original
545545

546546

547547
def reinstall_containerd(restart: bool = True):

tests/unit/test_containerd_reactive.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,8 @@ def test_needs_gpu_reboot_true(check_output, is_state, remove_state, set_state):
414414
[
415415
(True, {}, None, None),
416416
(False, {}, "1", None),
417-
(True, {"NEEDRESTART_SUSPEND": "original"}, None, "original"),
418-
(False, {"NEEDRESTART_SUSPEND": "original"}, "1", "original"),
417+
(True, {containerd.NEEDRESTART_SUSPEND: "original"}, None, "original"),
418+
(False, {containerd.NEEDRESTART_SUSPEND: "original"}, "1", "original"),
419419
],
420420
ids=[
421421
"restart=True, no initial env",
@@ -430,19 +430,20 @@ def test_apt_restart_services(mock_log, restart, initial_env, expected_during, e
430430
"""Verify _apt_restart_services behavior with various configurations."""
431431
# Setup initial environment from parameters
432432
os.environ.update(initial_env)
433+
env_var = containerd.NEEDRESTART_SUSPEND
433434

434435
with containerd._apt_restart_services(restart=restart):
435436
# Check value during context
436437
if expected_during is None:
437-
assert "NEEDRESTART_SUSPEND" not in os.environ
438+
assert env_var not in os.environ
438439
else:
439-
assert os.environ["NEEDRESTART_SUSPEND"] == expected_during
440+
assert os.environ[env_var] == expected_during
440441

441442
# Check value after context
442443
if expected_after is None:
443-
assert "NEEDRESTART_SUSPEND" not in os.environ
444+
assert env_var not in os.environ
444445
else:
445-
assert os.environ["NEEDRESTART_SUSPEND"] == expected_after
446+
assert os.environ[env_var] == expected_after
446447

447448
# Check log call
448449
log_fmt = "" if restart else "not "

0 commit comments

Comments
 (0)