diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2026-02-16 14:46:24 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2026-02-16 14:46:24 +0200 |
| commit | 34f5f546841c8e9022ac0ccf957f636907e643bb (patch) | |
| tree | 8885e5f2209baa04128d75ca9bb340a999723828 /jprov/main.py | |
| parent | 5f46fde558c467414fa151ad962caaf7f07628fa (diff) | |
Diffstat (limited to 'jprov/main.py')
| -rw-r--r-- | jprov/main.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/jprov/main.py b/jprov/main.py index a66892c..40cf715 100644 --- a/jprov/main.py +++ b/jprov/main.py @@ -5,6 +5,7 @@ from __future__ import annotations import argparse import os import sys +import time from datetime import datetime, timezone from .config import ConfigError, jail_conf_path, load_jail_config, load_main_config, resolve_overlay_path, validate_configs @@ -52,6 +53,7 @@ def main(argv: list[str] | None = None) -> int: log_file = os.path.join(main_cfg.log_dir, f"{args.jailname}-{ts}.log") log_line("INFO", "validate", "OK (config and paths)") + log_line("INFO", "config", f"loaded {jail_cfg.config_path}") template_ds = f"{main_cfg.templates_prefix}{jail_cfg.template}" jail_ds = f"{main_cfg.containers_prefix}{args.jailname}" @@ -101,6 +103,13 @@ def main(argv: list[str] | None = None) -> int: log_line("INFO", "start", f"starting jail {args.jailname}") run(["service", "jail", "start", args.jailname], log_file=log_file, dry_run=dry_run) + if not dry_run: + for attempt in range(5): + if jail_exists(args.jailname, log_file=log_file): + break + time.sleep(1) + else: + raise RuntimeError(f"jail failed to start: {args.jailname}") if jail_cfg.mounts: log_line("INFO", "mounts", "mounting nullfs volumes") |
