Skip to content

Commit a405ab6

Browse files
committed
Use proper CliMetaManager for mirage operations
1 parent 58d6bdb commit a405ab6

6 files changed

Lines changed: 18 additions & 63 deletions

File tree

node_cli/configs/user.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ def get_validated_user_config(
130130
is_mirage_boot: bool = False,
131131
) -> BaseUserConfig:
132132
params = parse_env_file(env_filepath)
133-
user_config_type = get_user_config_type(node_type, is_mirage_boot)
134-
_, missing_params, extra_params = user_config_type.validate_params(params)
133+
user_config_class = get_user_config_class(node_type, is_mirage_boot)
134+
_, missing_params, extra_params = user_config_class.validate_params(params)
135135

136136
if len(missing_params) > 0:
137137
error_exit(f'Missing required parameters: {missing_params}')
@@ -140,7 +140,7 @@ def get_validated_user_config(
140140
error_exit(f'Extra parameters: {extra_params}')
141141

142142
params = to_lower_keys(params)
143-
user_config = user_config_type(**params)
143+
user_config = user_config_class(**params)
144144
validate_user_config(user_config)
145145

146146
return user_config
@@ -155,8 +155,7 @@ def validate_user_config(user_config: BaseUserConfig) -> None:
155155
else:
156156
contract_alias_or_address = user_config.manager_contracts
157157
endpoint = user_config.endpoint
158-
159-
validate_alias_or_address(contract_alias_or_address, ContractType.MANAGER, endpoint)
158+
validate_alias_or_address(contract_alias_or_address, ContractType.MANAGER, endpoint)
160159

161160
if isinstance(user_config, (SkaleUserConfig, MirageBootUserConfig)):
162161
validate_alias_or_address(user_config.ima_contracts, ContractType.IMA, endpoint)
@@ -172,19 +171,19 @@ def parse_env_file(env_filepath: str) -> Dict:
172171
return DotEnv(env_filepath).dict()
173172

174173

175-
def get_user_config_type(
174+
def get_user_config_class(
176175
node_type: NodeType,
177176
is_mirage_boot: bool = False,
178177
) -> type[BaseUserConfig]:
179178
if node_type == NodeType.MIRAGE and is_mirage_boot:
180-
user_config_type = MirageBootUserConfig
179+
user_config_class = MirageBootUserConfig
181180
elif node_type == NodeType.MIRAGE:
182-
user_config_type = MirageUserConfig
181+
user_config_class = MirageUserConfig
183182
elif node_type == NodeType.SYNC:
184-
user_config_type = SyncUserConfig
183+
user_config_class = SyncUserConfig
185184
else:
186-
user_config_type = SkaleUserConfig
187-
return user_config_type
185+
user_config_class = SkaleUserConfig
186+
return user_config_class
188187

189188

190189
def validate_env_type(env_type: str) -> None:

node_cli/core/mirage_node.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import logging
2222
import time
2323

24-
from node_cli.configs import SKALE_DIR, RESTORE_SLEEP_TIMEOUT
24+
from node_cli.configs import RESTORE_SLEEP_TIMEOUT, SKALE_DIR
2525
from node_cli.core.host import save_env_params
2626
from node_cli.core.node import compose_node_env, is_base_containers_alive
27-
from node_cli.operations import update_mirage_op, restore_mirage_op, MirageUpdateType
27+
from node_cli.operations import MirageUpdateType, restore_mirage_op, update_mirage_op
2828
from node_cli.utils.decorators import check_inited, check_not_inited, check_user
2929
from node_cli.utils.exit_codes import CLIExitCodes
3030
from node_cli.utils.helper import error_exit
@@ -54,7 +54,7 @@ def restore_mirage(backup_path, env_filepath, config_only=False):
5454
def migrate_from_boot(
5555
env_filepath: str,
5656
) -> None:
57-
logger.info('Node update started')
57+
logger.info('Migrating from boot to mirage node...')
5858
env = compose_node_env(
5959
env_filepath,
6060
inited_node=True,
@@ -67,4 +67,4 @@ def migrate_from_boot(
6767
print_node_cmd_error()
6868
return
6969
else:
70-
logger.info('Mirgration from boot to mirage completed successfully')
70+
logger.info('Migration from boot to mirage completed successfully')

node_cli/operations/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222
init as init_op,
2323
init_sync as init_sync_op,
2424
init_mirage_boot as init_mirage_boot_op,
25-
migrate_mirage_boot as migrate_mirage_boot_op,
26-
update_mirage_boot as update_mirage_boot_op,
25+
update_mirage_boot as update_miage_boot_op,
2726
update_sync as update_sync_op,
2827
turn_off as turn_off_op,
2928
turn_on as turn_on_op,

node_cli/operations/base.py

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -150,47 +150,6 @@ def update(env_filepath: str, env: Dict, node_type: NodeType) -> bool:
150150
return True
151151

152152

153-
@checked_host
154-
def migrate_mirage_boot(env_filepath: str, env: Dict) -> bool:
155-
compose_rm(node_type=NodeType.MIRAGE, env=env)
156-
cleanup_volume_artifacts(env['DISK_MOUNTPOINT'])
157-
158-
sync_skale_node()
159-
ensure_btrfs_kernel_module_autoloaded()
160-
161-
if env.get('SKIP_DOCKER_CONFIG') != 'True':
162-
configure_docker()
163-
164-
enable_monitoring = str_to_bool(env.get('MONITORING_CONTAINERS', 'False'))
165-
configure_nftables(enable_monitoring=enable_monitoring)
166-
167-
generate_nginx_config()
168-
169-
prepare_host(env_filepath, env['ENV_TYPE'])
170-
171-
meta_manager = CliMetaManager()
172-
current_stream = meta_manager.get_meta_info().config_stream
173-
skip_cleanup = env.get('SKIP_DOCKER_CLEANUP') == 'True'
174-
if not skip_cleanup and current_stream != env['CONTAINER_CONFIGS_STREAM']:
175-
logger.info(
176-
'Stream version was changed from %s to %s',
177-
current_stream,
178-
env['CONTAINER_CONFIGS_STREAM'],
179-
)
180-
docker_cleanup()
181-
182-
meta_manager.update_meta(
183-
VERSION,
184-
env['CONTAINER_CONFIGS_STREAM'],
185-
None,
186-
distro.id(),
187-
distro.version(),
188-
)
189-
update_images(env=env, node_type=NodeType.MIRAGE)
190-
compose_up(env=env, node_type=NodeType.MIRAGE)
191-
return True
192-
193-
194153
@checked_host
195154
def update_mirage_boot(env_filepath: str, env: Dict) -> bool:
196155
compose_rm(node_type=NodeType.MIRAGE, env=env)
@@ -288,11 +247,10 @@ def init_mirage_boot(env_filepath: str, env: dict) -> None:
288247
generate_nginx_config()
289248
prepare_block_device(env['DISK_MOUNTPOINT'], force=env['ENFORCE_BTRFS'] == 'True')
290249

291-
meta_manager = CliMetaManager()
250+
meta_manager = MirageCliMetaManager()
292251
meta_manager.update_meta(
293252
VERSION,
294253
env['CONTAINER_CONFIGS_STREAM'],
295-
None,
296254
distro.id(),
297255
distro.version(),
298256
)

node_cli/operations/mirage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def update_mirage(env_filepath: str, env: dict, update_type: MirageUpdateType) -
8181
)
8282
docker_cleanup()
8383

84-
MirageCliMetaManager().update_meta(
84+
meta_manager.update_meta(
8585
VERSION,
8686
env['CONTAINER_CONFIGS_STREAM'],
8787
distro.id(),

node_cli/utils/meta.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import json
33
import os
44
from dataclasses import dataclass
5-
from typing import Optional
65

76
from node_cli.configs import META_FILEPATH
87

@@ -107,7 +106,7 @@ def update_meta(
107106
self,
108107
version: str,
109108
config_stream: str,
110-
docker_lvmpy_stream: Optional[str],
109+
docker_lvmpy_stream: str | None,
111110
os_id: str,
112111
os_version: str,
113112
) -> None:

0 commit comments

Comments
 (0)