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 MCC). This means everything you need is in one place. The separate MCC 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:
timestamp
Timestamp of a log message.
level
Verbosity level of a message:
INFO
,WARNING
,ERROR
,VERBOSE
, orDEBUG
.message
Textual description of an event or an action.
status
Non-mandatory. Status of a long-running action or additional information in the machine-readable form. The
status
field contains the following mandatory boolean fields:completed
Indicates whether an action has completed.
failed
Indicates whether an action has failed (if
completed
istrue
) or only a step of an action has failed (ifcompleted
isfalse
). Usually, failed steps contain"level": "ERROR"
.progressing
Indicates 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."
}
}