api: rename 'run_machine_deploy' into 'run_machine_update'
This commit is contained in:
@@ -9,7 +9,7 @@ from clan_lib.machines.actions import list_machines
|
|||||||
from clan_lib.machines.list import instantiate_inventory_to_machines
|
from clan_lib.machines.list import instantiate_inventory_to_machines
|
||||||
from clan_lib.machines.machines import Machine
|
from clan_lib.machines.machines import Machine
|
||||||
from clan_lib.machines.suggestions import validate_machine_names
|
from clan_lib.machines.suggestions import validate_machine_names
|
||||||
from clan_lib.machines.update import run_machine_deploy
|
from clan_lib.machines.update import run_machine_update
|
||||||
from clan_lib.nix import nix_config
|
from clan_lib.nix import nix_config
|
||||||
from clan_lib.ssh.remote import Remote
|
from clan_lib.ssh.remote import Remote
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ def update_command(args: argparse.Namespace) -> None:
|
|||||||
tid=machine.name,
|
tid=machine.name,
|
||||||
async_ctx=AsyncContext(prefix=machine.name),
|
async_ctx=AsyncContext(prefix=machine.name),
|
||||||
),
|
),
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
machine=machine,
|
machine=machine,
|
||||||
target_host=target_host,
|
target_host=target_host,
|
||||||
build_host=machine.build_host(),
|
build_host=machine.build_host(),
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ def example_function() -> None:
|
|||||||
"""Example function for creating logs."""
|
"""Example function for creating logs."""
|
||||||
|
|
||||||
|
|
||||||
def run_machine_deploy() -> None:
|
def run_machine_update() -> None:
|
||||||
"""Function for deploying machines."""
|
"""Function for deploying machines."""
|
||||||
|
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ def main() -> None:
|
|||||||
for repo in repos:
|
for repo in repos:
|
||||||
for machine in machines:
|
for machine in machines:
|
||||||
log_manager.create_log_file(
|
log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
f"deploy_{machine}",
|
f"deploy_{machine}",
|
||||||
["clans", repo, "machines", machine],
|
["clans", repo, "machines", machine],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from clan_lib.log_manager import (
|
|||||||
|
|
||||||
|
|
||||||
# Test functions for log creation
|
# Test functions for log creation
|
||||||
def run_machine_deploy() -> None:
|
def run_machine_update() -> None:
|
||||||
"""Test function for deploying machines."""
|
"""Test function for deploying machines."""
|
||||||
|
|
||||||
|
|
||||||
@@ -194,13 +194,13 @@ class TestLogFileCreation:
|
|||||||
for repo in repos:
|
for repo in repos:
|
||||||
for machine in machines:
|
for machine in machines:
|
||||||
log_file = configured_log_manager.create_log_file(
|
log_file = configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
f"deploy_{machine}",
|
f"deploy_{machine}",
|
||||||
["clans", repo, "machines", machine],
|
["clans", repo, "machines", machine],
|
||||||
)
|
)
|
||||||
|
|
||||||
assert log_file.op_key == f"deploy_{machine}"
|
assert log_file.op_key == f"deploy_{machine}"
|
||||||
assert log_file.func_name == "run_machine_deploy"
|
assert log_file.func_name == "run_machine_update"
|
||||||
assert log_file.get_file_path().exists()
|
assert log_file.get_file_path().exists()
|
||||||
|
|
||||||
# Check the group structure includes URL encoding for dynamic parts
|
# Check the group structure includes URL encoding for dynamic parts
|
||||||
@@ -241,7 +241,7 @@ class TestFilterFunction:
|
|||||||
"""Test that empty filter returns top-level groups."""
|
"""Test that empty filter returns top-level groups."""
|
||||||
# Create some log files first
|
# Create some log files first
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy, "test_op", ["clans", "repo1", "machines", "machine1"]
|
run_machine_update, "test_op", ["clans", "repo1", "machines", "machine1"]
|
||||||
)
|
)
|
||||||
|
|
||||||
top_level = configured_log_manager.filter([])
|
top_level = configured_log_manager.filter([])
|
||||||
@@ -258,7 +258,7 @@ class TestFilterFunction:
|
|||||||
for repo in repos:
|
for repo in repos:
|
||||||
for machine in machines:
|
for machine in machines:
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
f"deploy_{machine}",
|
f"deploy_{machine}",
|
||||||
["clans", repo, "machines", machine],
|
["clans", repo, "machines", machine],
|
||||||
)
|
)
|
||||||
@@ -281,7 +281,7 @@ class TestFilterFunction:
|
|||||||
"""Test filtering with specific date."""
|
"""Test filtering with specific date."""
|
||||||
# Create log file
|
# Create log file
|
||||||
log_file = configured_log_manager.create_log_file(
|
log_file = configured_log_manager.create_log_file(
|
||||||
run_machine_deploy, "test_op", ["clans", "repo1", "machines", "machine1"]
|
run_machine_update, "test_op", ["clans", "repo1", "machines", "machine1"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Filter with the specific date
|
# Filter with the specific date
|
||||||
@@ -308,7 +308,7 @@ class TestGetLogFile:
|
|||||||
"""Test getting log file by operation key."""
|
"""Test getting log file by operation key."""
|
||||||
# Create log file
|
# Create log file
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_wintux",
|
"deploy_wintux",
|
||||||
["clans", "repo1", "machines", "wintux"],
|
["clans", "repo1", "machines", "wintux"],
|
||||||
)
|
)
|
||||||
@@ -317,7 +317,7 @@ class TestGetLogFile:
|
|||||||
found_log_file = configured_log_manager.get_log_file("deploy_wintux")
|
found_log_file = configured_log_manager.get_log_file("deploy_wintux")
|
||||||
assert found_log_file is not None
|
assert found_log_file is not None
|
||||||
assert found_log_file.op_key == "deploy_wintux"
|
assert found_log_file.op_key == "deploy_wintux"
|
||||||
assert found_log_file.func_name == "run_machine_deploy"
|
assert found_log_file.func_name == "run_machine_update"
|
||||||
|
|
||||||
def test_get_log_file_with_selector(
|
def test_get_log_file_with_selector(
|
||||||
self, configured_log_manager: LogManager
|
self, configured_log_manager: LogManager
|
||||||
@@ -325,12 +325,12 @@ class TestGetLogFile:
|
|||||||
"""Test getting log file with specific selector like example_usage.py."""
|
"""Test getting log file with specific selector like example_usage.py."""
|
||||||
# Create log files in different locations
|
# Create log files in different locations
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_wintux",
|
"deploy_wintux",
|
||||||
["clans", "repo1", "machines", "wintux"],
|
["clans", "repo1", "machines", "wintux"],
|
||||||
)
|
)
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_wintux",
|
"deploy_wintux",
|
||||||
["clans", "repo2", "machines", "wintux"],
|
["clans", "repo2", "machines", "wintux"],
|
||||||
)
|
)
|
||||||
@@ -347,7 +347,7 @@ class TestGetLogFile:
|
|||||||
"""Test getting log file with specific date."""
|
"""Test getting log file with specific date."""
|
||||||
# Create log file
|
# Create log file
|
||||||
log_file = configured_log_manager.create_log_file(
|
log_file = configured_log_manager.create_log_file(
|
||||||
run_machine_deploy, "deploy_demo", ["clans", "repo1", "machines", "demo"]
|
run_machine_update, "deploy_demo", ["clans", "repo1", "machines", "demo"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Find it by op_key and date
|
# Find it by op_key and date
|
||||||
@@ -384,10 +384,10 @@ class TestListLogDays:
|
|||||||
"""Test listing log days when logs exist."""
|
"""Test listing log days when logs exist."""
|
||||||
# Create log files
|
# Create log files
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy, "op1", ["clans", "repo1", "machines", "machine1"]
|
run_machine_update, "op1", ["clans", "repo1", "machines", "machine1"]
|
||||||
)
|
)
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy, "op2", ["clans", "repo2", "machines", "machine2"]
|
run_machine_update, "op2", ["clans", "repo2", "machines", "machine2"]
|
||||||
)
|
)
|
||||||
|
|
||||||
days = configured_log_manager.list_log_days()
|
days = configured_log_manager.list_log_days()
|
||||||
@@ -412,7 +412,7 @@ class TestApiCompatibility:
|
|||||||
for repo in repos:
|
for repo in repos:
|
||||||
for machine in machines:
|
for machine in machines:
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
f"deploy_{machine}",
|
f"deploy_{machine}",
|
||||||
["clans", repo, "machines", machine],
|
["clans", repo, "machines", machine],
|
||||||
)
|
)
|
||||||
@@ -723,21 +723,21 @@ class TestLogFileSorting:
|
|||||||
expected_order
|
expected_order
|
||||||
):
|
):
|
||||||
actual = sorted_files[i]
|
actual = sorted_files[i]
|
||||||
assert actual.op_key == exp_op, (
|
assert (
|
||||||
f"Position {i}: expected op_key {exp_op}, got {actual.op_key}"
|
actual.op_key == exp_op
|
||||||
)
|
), f"Position {i}: expected op_key {exp_op}, got {actual.op_key}"
|
||||||
assert actual.date_day == exp_date, (
|
assert (
|
||||||
f"Position {i}: expected date {exp_date}, got {actual.date_day}"
|
actual.date_day == exp_date
|
||||||
)
|
), f"Position {i}: expected date {exp_date}, got {actual.date_day}"
|
||||||
assert actual.group == exp_group, (
|
assert (
|
||||||
f"Position {i}: expected group {exp_group}, got {actual.group}"
|
actual.group == exp_group
|
||||||
)
|
), f"Position {i}: expected group {exp_group}, got {actual.group}"
|
||||||
assert actual.func_name == exp_func, (
|
assert (
|
||||||
f"Position {i}: expected func {exp_func}, got {actual.func_name}"
|
actual.func_name == exp_func
|
||||||
)
|
), f"Position {i}: expected func {exp_func}, got {actual.func_name}"
|
||||||
assert actual.date_second == exp_time, (
|
assert (
|
||||||
f"Position {i}: expected time {exp_time}, got {actual.date_second}"
|
actual.date_second == exp_time
|
||||||
)
|
), f"Position {i}: expected time {exp_time}, got {actual.date_second}"
|
||||||
|
|
||||||
def test_get_log_file_returns_newest_when_multiple_exist(
|
def test_get_log_file_returns_newest_when_multiple_exist(
|
||||||
self, configured_log_manager: LogManager
|
self, configured_log_manager: LogManager
|
||||||
@@ -747,19 +747,19 @@ class TestLogFileSorting:
|
|||||||
# This simulates the realistic scenario where the same operation runs on different machines
|
# This simulates the realistic scenario where the same operation runs on different machines
|
||||||
|
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_operation",
|
"deploy_operation",
|
||||||
["clans", "repo1", "machines", "machine1"],
|
["clans", "repo1", "machines", "machine1"],
|
||||||
)
|
)
|
||||||
|
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_operation",
|
"deploy_operation",
|
||||||
["clans", "repo1", "machines", "machine2"],
|
["clans", "repo1", "machines", "machine2"],
|
||||||
)
|
)
|
||||||
|
|
||||||
configured_log_manager.create_log_file(
|
configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_operation",
|
"deploy_operation",
|
||||||
["clans", "repo2", "machines", "machine1"],
|
["clans", "repo2", "machines", "machine1"],
|
||||||
)
|
)
|
||||||
@@ -825,7 +825,7 @@ class TestURLEncoding:
|
|||||||
|
|
||||||
# Create log file with special characters
|
# Create log file with special characters
|
||||||
log_file = configured_log_manager.create_log_file(
|
log_file = configured_log_manager.create_log_file(
|
||||||
run_machine_deploy,
|
run_machine_update,
|
||||||
"deploy_special",
|
"deploy_special",
|
||||||
["clans", special_repo, "machines", special_machine],
|
["clans", special_repo, "machines", special_machine],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ def upload_sources(machine: Machine, ssh: Remote) -> str:
|
|||||||
|
|
||||||
|
|
||||||
@API.register
|
@API.register
|
||||||
def run_machine_deploy(
|
def run_machine_update(
|
||||||
machine: Machine, target_host: Remote, build_host: Remote | None
|
machine: Machine, target_host: Remote, build_host: Remote | None
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Update an existing machine using nixos-rebuild or darwin-rebuild.
|
"""Update an existing machine using nixos-rebuild or darwin-rebuild.
|
||||||
|
|||||||
Reference in New Issue
Block a user