|
30 | 30 | from node_cli.core.host import ensure_btrfs_kernel_module_autoloaded, link_env_file, prepare_host |
31 | 31 | from node_cli.core.nftables import configure_nftables |
32 | 32 | from node_cli.core.nginx import generate_nginx_config |
| 33 | +from node_cli.migrations.mirage.from_boot import migrate_nftables_from_boot |
33 | 34 | from node_cli.operations.base import checked_host |
34 | 35 | from node_cli.operations.common import unpack_backup_archive |
35 | 36 | from node_cli.operations.config_repo import ( |
|
53 | 54 | class MirageUpdateType(Enum): |
54 | 55 | REGULAR = 'regular' |
55 | 56 | INFRA_ONLY = 'infra_only' |
| 57 | + FROM_BOOT = 'from_boot' |
56 | 58 |
|
57 | 59 |
|
58 | 60 | @checked_host |
59 | 61 | def update_mirage(env_filepath: str, env: dict, update_type: MirageUpdateType) -> bool: |
60 | 62 | compose_rm(node_type=NodeType.MIRAGE, env=env) |
61 | | - if update_type != MirageUpdateType.INFRA_ONLY: |
| 63 | + if update_type in (MirageUpdateType.INFRA_ONLY, MirageUpdateType.FROM_BOOT): |
62 | 64 | remove_dynamic_containers() |
| 65 | + |
63 | 66 | sync_skale_node() |
64 | 67 | ensure_btrfs_kernel_module_autoloaded() |
65 | 68 |
|
@@ -87,6 +90,9 @@ def update_mirage(env_filepath: str, env: dict, update_type: MirageUpdateType) - |
87 | 90 | distro.id(), |
88 | 91 | distro.version(), |
89 | 92 | ) |
| 93 | + |
| 94 | + if update_type == MirageUpdateType.FROM_BOOT: |
| 95 | + migrate_nftables_from_boot() |
90 | 96 | update_images(env=env, node_type=NodeType.MIRAGE) |
91 | 97 | compose_up(env=env, node_type=NodeType.MIRAGE) |
92 | 98 | return True |
|
0 commit comments