Mirantis Container Cloud (MCC) becomes part of Mirantis OpenStack for Kubernetes (MOSK)!
Starting with MOSK 25.2, the MOSK documentation set covers all product layers, including MOSK management (formerly Container Cloud). This means everything you need is in one place. Some legacy names may remain in the code and documentation and will be updated in future releases. The separate Container Cloud documentation site will be retired, so please update your bookmarks for continued easy access to the latest content.
Monitor the airgapped tool status in JSON format¶
The sync and validate commands of the airgapped tool
support machine-readable output in the JSONL (JSON lines) format, when each
line is a complete JSON string. This allows for line-by-line parsing and
progress tracking during command execution.
To enable JSON output, use the --json flag by adding it before a subcommand
name. For example:
./airgapped.sh --json sync ...
JSON strings contain the following fields:
timestampTimestamp of a log message.
levelVerbosity level of a message:
INFO,WARNING,ERROR,VERBOSE, orDEBUG.messageTextual description of an event or an action.
statusNon-mandatory. Status of a long-running action or additional information in the machine-readable form. The
statusfield contains the following mandatory boolean fields:completedIndicates whether an action has completed.
failedIndicates whether an action has failed (if
completedistrue) or only a step of an action has failed (ifcompletedisfalse). Usually, failed steps contain"level": "ERROR".progressingIndicates that an action is in progress.
When the status field is present, the message field contains
description of an action. Each log message related to the action contains the
same text in the message field allowing to select messages related to the
same action. Additional information may also be provided in
"status": {"message": "..."}.
Example of a successful sync output
./airgapped.sh --json sync --kaas-release kaas-2-29-6 --cluster-release mke-16-4-6-3-7-24
{"timestamp": 1755597563.0669844, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597563.0672197, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597563.0941432, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597563.0943644, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597564.067759, "level": "INFO", "message": "Synchronizing files", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597579.108996, "level": "INFO", "message": "Synchronizing images", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597579.5244758, "level": "INFO", "message": "Synchronizing files", "status": {"total_files": 43406, "bad_files": 0, "completed": true, "failed": false, "progressing": false, "message": "Processed 43406 files, bad files - 0."}}
{"timestamp": 1755597579.5299454, "level": "INFO", "message": "Synchronizing images", "status": {"total_images": 161, "bad_images": 0, "total_blobs": 1319, "bad_blobs": 0, "completed": true, "failed": false, "progressing": false, "message": "Processed 161 images, bad images - 0. Processed 1319 blobs, bad blobs - 0."}}
Example of a successful validate output
./airgapped.sh --json validate --cached --kaas-release kaas-2-29-6 --cluster-release mke-16-4-6-3-7-24
{"timestamp": 1755597514.4130914, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597514.413293, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597514.4399714, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597514.440121, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597515.4122643, "level": "INFO", "message": "Validating files", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597515.4124095, "level": "INFO", "message": "Validating cached files", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597524.7470822, "level": "INFO", "message": "Validating cached files", "status": {"total_files": 43406, "bad_files": 0, "completed": true, "failed": false, "progressing": false, "message": "Total files - 43406, bad files - 0."}}
{"timestamp": 1755597524.7553222, "level": "INFO", "message": "Validating files", "status": {"completed": true, "failed": false, "progressing": false}}
{"timestamp": 1755597524.7554657, "level": "INFO", "message": "Validating images", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597524.755511, "level": "INFO", "message": "Validating cached images", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597524.9610856, "level": "INFO", "message": "Validating cached images", "status": {"total_images": 161, "total_blobs": 1319, "bad_images": 0, "bad_blobs": 0, "completed": true, "failed": false, "progressing": false, "message": "Total images - 161, bad images - 0, total blobs - 1319, bad blobs - 0."}}
{"timestamp": 1755597524.9612145, "level": "INFO", "message": "Validating images", "status": {"completed": true, "failed": false, "progressing": false}}
Example of a failed validate output
./airgapped.sh --json validate --cached --kaas-release kaas-2-29-6 --cluster-release mke-16-4-6-3-7-24
{"timestamp": 1755597741.2202103, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597741.220743, "level": "WARNING", "message": "File '/workspace/release_artifacts-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597741.2485487, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz' already exists, skipping download ..."}
{"timestamp": 1755597741.2487361, "level": "WARNING", "message": "File '/workspace/release_files-mcc_2.29.6.tar.gz.digest' already exists, skipping download ..."}
{"timestamp": 1755597742.2164998, "level": "INFO", "message": "Validating files", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597742.216663, "level": "INFO", "message": "Validating cached files", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597746.9459758, "level": "ERROR", "message": "Validating cached files", "status": {"filename": "kaas/ubuntu-2025-07-16-003900/pool/universe/h/haskell-listlike/libghc-listlike-prof_4.7.1-1build1_amd64.deb", "blob_digest": "sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152", "reason": "<Blob(sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152)> does not exist // [Errno 2] No such file or directory: '/workspace/files/blobs/sha256/02/02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152/data'", "completed": false, "failed": true, "progressing": true, "message": "Blob 'sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152' (kaas/ubuntu-2025-07-16-003900/pool/universe/h/haskell-listlike/libghc-listlike-prof_4.7.1-1build1_amd64.deb) invalid: <Blob(sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152)> does not exist // [Errno 2] No such file or directory: '/workspace/files/blobs/sha256/02/02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152/data'"}}
{"timestamp": 1755597752.2745066, "level": "ERROR", "message": "Validating cached files", "status": {"total_files": 43406, "bad_files": 1, "completed": true, "failed": true, "progressing": false, "message": "Total files - 43406, bad files - 1."}}
{"timestamp": 1755597752.2749348, "level": "ERROR", "message": "Validating files", "status": {"completed": true, "failed": true, "progressing": false}}
{"timestamp": 1755597752.2750237, "level": "INFO", "message": "Validating images", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597752.275078, "level": "INFO", "message": "Validating cached images", "status": {"completed": false, "failed": false, "progressing": true}}
{"timestamp": 1755597752.4782774, "level": "INFO", "message": "Validating cached images", "status": {"total_images": 161, "total_blobs": 1319, "bad_images": 0, "bad_blobs": 0, "completed": true, "failed": false, "progressing": false, "message": "Total images - 161, bad images - 0, total blobs - 1319, bad blobs - 0."}}
{"timestamp": 1755597752.4784915, "level": "INFO", "message": "Validating images", "status": {"completed": true, "failed": false, "progressing": false}}
Example of an error message for a file that failed validation
{
"timestamp": 1755597746.9459758,
"level": "ERROR",
"message": "Validating cached files",
"status": {
"filename": "kaas/ubuntu-2025-07-16-003900/pool/universe/h/haskell-listlike/libghc-listlike-prof_4.7.1-1build1_amd64.deb",
"blob_digest": "sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152",
"reason": "<Blob(sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152)> does not exist // [Errno 2] No such file or directory: /workspace/files/blobs/sha256/02/02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152/data",
"completed": false,
"failed": true,
"progressing": true,
"message": "Blob sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152 (kaas/ubuntu-2025-07-16-003900/pool/universe/h/haskell-listlike/libghc-listlike-prof_4.7.1-1build1_amd64.deb) invalid: <Blob(sha256:02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152)> does not exist // [Errno 2] No such file or directory: /workspace/files/blobs/sha256/02/02111e5e15c186581710b8e5517c5d1ee1284198fe30b8c5d6e1096031ac1152/data"
}
}
Example of the overall status of a completed action
{
"timestamp": 1755597752.2745066,
"level": "ERROR",
"message": "Validating cached files",
"status": {
"total_files": 43406,
"bad_files": 1,
"completed": true,
"failed": true,
"progressing": false,
"message": "Total files - 43406, bad files - 1."
}
}