2026-07-31 08:37:36.022235 | Job console starting 2026-07-31 08:37:36.034962 | Updating git repos 2026-07-31 08:37:36.067801 | Cloning repos into workspace 2026-07-31 08:37:36.602502 | Restoring repo states 2026-07-31 08:37:36.622311 | Merging changes 2026-07-31 08:37:38.370715 | Checking out repos 2026-07-31 08:37:39.619586 | Preparing playbooks 2026-07-31 08:38:03.189212 | Running Ansible setup 2026-07-31 08:38:07.233690 | PRE-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-07-31 08:38:07.888489 | 2026-07-31 08:38:08.278491 | PLAY [localhost] 2026-07-31 08:38:08.296436 | 2026-07-31 08:38:08.296649 | TASK [Gathering Facts] 2026-07-31 08:38:09.218833 | localhost | ok 2026-07-31 08:38:09.229043 | 2026-07-31 08:38:09.229164 | TASK [Setup log path fact] 2026-07-31 08:38:09.260381 | localhost | ok 2026-07-31 08:38:09.274019 | 2026-07-31 08:38:09.274091 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-07-31 08:38:09.304664 | localhost | ok 2026-07-31 08:38:09.312335 | 2026-07-31 08:38:09.312403 | TASK [emit-job-header : Print job information] 2026-07-31 08:38:09.353561 | # Job Information 2026-07-31 08:38:09.353737 | Ansible Version: 2.16.18 2026-07-31 08:38:09.353782 | Job: pre-commit 2026-07-31 08:38:09.353813 | Pipeline: check 2026-07-31 08:38:09.353841 | Executor: 2d72f0692154 2026-07-31 08:38:09.353868 | Triggered by: https://github.com/vexxhost/ansible-collection-kubernetes/pull/295 2026-07-31 08:38:09.353898 | Event ID: 93a7ba2a-8cba-11f1-9c61-eeb369dc0825 2026-07-31 08:38:09.358114 | 2026-07-31 08:38:09.358210 | LOOP [emit-job-header : Print node information] 2026-07-31 08:38:09.464151 | localhost | ok: 2026-07-31 08:38:09.464361 | localhost | # Node Information 2026-07-31 08:38:09.464402 | localhost | Inventory Hostname: ubuntu-noble 2026-07-31 08:38:09.464435 | localhost | Hostname: np0000187783 2026-07-31 08:38:09.464465 | localhost | Username: zuul 2026-07-31 08:38:09.464501 | localhost | Distro: Ubuntu 24.04 2026-07-31 08:38:09.464531 | localhost | Provider: yul1 2026-07-31 08:38:09.464559 | localhost | Region: ca-ymq-1 2026-07-31 08:38:09.464587 | localhost | Label: ubuntu-noble 2026-07-31 08:38:09.464614 | localhost | Product Name: OpenStack Nova 2026-07-31 08:38:09.464642 | localhost | Interface IP: 199.19.213.246 2026-07-31 08:38:09.477094 | 2026-07-31 08:38:09.477168 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-07-31 08:38:09.908839 | localhost -> localhost | changed 2026-07-31 08:38:09.920526 | 2026-07-31 08:38:09.920624 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-07-31 08:38:11.475158 | localhost -> localhost | changed 2026-07-31 08:38:11.485617 | 2026-07-31 08:38:11.485727 | PLAY [all] 2026-07-31 08:38:11.499013 | 2026-07-31 08:38:11.500014 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-07-31 08:38:11.758859 | ubuntu-noble -> localhost | ok 2026-07-31 08:38:11.769140 | 2026-07-31 08:38:11.769269 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-07-31 08:38:11.803395 | ubuntu-noble | ok 2026-07-31 08:38:11.825682 | ubuntu-noble | included: /var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-07-31 08:38:11.832331 | 2026-07-31 08:38:11.832395 | TASK [add-build-sshkey : Create Temp SSH key] 2026-07-31 08:38:12.872020 | ubuntu-noble -> localhost | Generating public/private rsa key pair. 2026-07-31 08:38:12.872304 | ubuntu-noble -> localhost | Your identification has been saved in /var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/79e0e766176748efaed2ec061759c37f_id_rsa 2026-07-31 08:38:12.872360 | ubuntu-noble -> localhost | Your public key has been saved in /var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/79e0e766176748efaed2ec061759c37f_id_rsa.pub 2026-07-31 08:38:12.872398 | ubuntu-noble -> localhost | The key fingerprint is: 2026-07-31 08:38:12.872432 | ubuntu-noble -> localhost | SHA256:D3fN6sjS3fFziDj3q3WTK9fRmzDfnR+bunHQUo5FjPo zuul-build-sshkey 2026-07-31 08:38:12.872482 | ubuntu-noble -> localhost | The key's randomart image is: 2026-07-31 08:38:12.872514 | ubuntu-noble -> localhost | +---[RSA 3072]----+ 2026-07-31 08:38:12.872556 | ubuntu-noble -> localhost | | o. | 2026-07-31 08:38:12.872591 | ubuntu-noble -> localhost | | ... | 2026-07-31 08:38:12.872623 | ubuntu-noble -> localhost | | . o | 2026-07-31 08:38:12.872655 | ubuntu-noble -> localhost | | . o* | 2026-07-31 08:38:12.872686 | ubuntu-noble -> localhost | | S . o+oo.| 2026-07-31 08:38:12.872717 | ubuntu-noble -> localhost | | + . E+.o| 2026-07-31 08:38:12.872748 | ubuntu-noble -> localhost | | ..o.+=OX| 2026-07-31 08:38:12.872779 | ubuntu-noble -> localhost | | ..+o+o=O%| 2026-07-31 08:38:12.872814 | ubuntu-noble -> localhost | | .ooo=B==| 2026-07-31 08:38:12.872845 | ubuntu-noble -> localhost | +----[SHA256]-----+ 2026-07-31 08:38:12.872924 | ubuntu-noble -> localhost | ok: Runtime: 0:00:00.545805 2026-07-31 08:38:12.883519 | 2026-07-31 08:38:12.883877 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-07-31 08:38:12.915961 | ubuntu-noble | ok 2026-07-31 08:38:12.934195 | ubuntu-noble | included: /var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-07-31 08:38:12.946579 | 2026-07-31 08:38:12.946738 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-07-31 08:38:12.972526 | ubuntu-noble | skipping: Conditional result was False 2026-07-31 08:38:12.984893 | 2026-07-31 08:38:12.985174 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-07-31 08:38:13.566132 | ubuntu-noble | changed 2026-07-31 08:38:13.572509 | 2026-07-31 08:38:13.572603 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-07-31 08:38:13.812246 | ubuntu-noble | ok 2026-07-31 08:38:13.818498 | 2026-07-31 08:38:13.818582 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-07-31 08:38:14.406630 | ubuntu-noble | changed 2026-07-31 08:38:14.412552 | 2026-07-31 08:38:14.412634 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-07-31 08:38:14.977823 | ubuntu-noble | changed 2026-07-31 08:38:14.984766 | 2026-07-31 08:38:14.984849 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-07-31 08:38:15.008312 | ubuntu-noble | skipping: Conditional result was False 2026-07-31 08:38:15.018288 | 2026-07-31 08:38:15.018388 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-07-31 08:38:15.433562 | ubuntu-noble -> localhost | changed 2026-07-31 08:38:15.453126 | 2026-07-31 08:38:15.453240 | TASK [add-build-sshkey : Add back temp key] 2026-07-31 08:38:15.797553 | ubuntu-noble -> localhost | Identity added: /var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/79e0e766176748efaed2ec061759c37f_id_rsa (zuul-build-sshkey) 2026-07-31 08:38:15.797769 | ubuntu-noble -> localhost | ok: Runtime: 0:00:00.030409 2026-07-31 08:38:15.803457 | 2026-07-31 08:38:15.803522 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-07-31 08:38:16.174186 | ubuntu-noble | ok 2026-07-31 08:38:16.181129 | 2026-07-31 08:38:16.181215 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-07-31 08:38:16.207519 | ubuntu-noble | skipping: Conditional result was False 2026-07-31 08:38:16.226429 | 2026-07-31 08:38:16.226499 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-07-31 08:38:16.634638 | ubuntu-noble | ok 2026-07-31 08:38:16.685158 | 2026-07-31 08:38:16.685292 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-07-31 08:38:17.713088 | ubuntu-noble | Output suppressed because no_log was given 2026-07-31 08:38:17.726393 | 2026-07-31 08:38:17.726510 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-07-31 08:38:17.952656 | ubuntu-noble | ok: "logs" 2026-07-31 08:38:17.953018 | ubuntu-noble | ok: All items complete 2026-07-31 08:38:17.953079 | 2026-07-31 08:38:18.140100 | ubuntu-noble | ok: "artifacts" 2026-07-31 08:38:18.333557 | ubuntu-noble | ok: "docs" 2026-07-31 08:38:18.356430 | 2026-07-31 08:38:18.356695 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-07-31 08:38:18.580828 | ubuntu-noble | changed: "logs" 2026-07-31 08:38:18.775109 | ubuntu-noble | changed: "artifacts" 2026-07-31 08:38:18.960402 | ubuntu-noble | changed: "docs" 2026-07-31 08:38:18.982211 | 2026-07-31 08:38:18.982355 | PLAY RECAP 2026-07-31 08:38:18.982407 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-07-31 08:38:18.982438 | ubuntu-noble | ok: 15 changed: 8 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2026-07-31 08:38:18.982462 | 2026-07-31 08:38:19.162105 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-07-31 08:38:19.163518 | PRE-RUN START: [untrusted : github.com/vexxhost/zuul-jobs/playbooks/pre-commit/pre.yaml@main] 2026-07-31 08:38:19.751909 | 2026-07-31 08:38:19.752029 | PLAY [all] 2026-07-31 08:38:19.769645 | 2026-07-31 08:38:19.769771 | TASK [setup-uv : Extract archive] 2026-07-31 08:38:22.223974 | ubuntu-noble | changed 2026-07-31 08:38:22.233138 | 2026-07-31 08:38:22.233216 | TASK [setup-uv : Print version] 2026-07-31 08:38:22.631076 | ubuntu-noble | uv 0.8.13 2026-07-31 08:38:22.770997 | ubuntu-noble | ok: Runtime: 0:00:00.015197 2026-07-31 08:38:22.780472 | 2026-07-31 08:38:22.780545 | PLAY RECAP 2026-07-31 08:38:22.780605 | ubuntu-noble | ok: 2 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-07-31 08:38:22.780639 | 2026-07-31 08:38:22.885448 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/zuul-jobs/playbooks/pre-commit/pre.yaml@main] 2026-07-31 08:38:22.930117 | RUN START: [untrusted : github.com/vexxhost/zuul-jobs/playbooks/pre-commit/run.yaml@main] 2026-07-31 08:38:23.531065 | 2026-07-31 08:38:23.531225 | PLAY [all] 2026-07-31 08:38:23.543292 | 2026-07-31 08:38:23.543373 | TASK [Run "pre-commit"] 2026-07-31 08:38:24.065780 | ubuntu-noble | Downloading virtualenv (5.2MiB) 2026-07-31 08:38:24.147908 | ubuntu-noble | Downloading virtualenv 2026-07-31 08:38:24.162418 | ubuntu-noble | Installed 10 packages in 13ms 2026-07-31 08:38:24.550674 | ubuntu-noble | [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. 2026-07-31 08:38:25.103565 | ubuntu-noble | [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. 2026-07-31 08:38:25.109736 | ubuntu-noble | [INFO] Initializing environment for https://github.com/psf/black. 2026-07-31 08:38:25.639766 | ubuntu-noble | [INFO] Initializing environment for https://github.com/pycqa/flake8. 2026-07-31 08:38:26.019312 | ubuntu-noble | [INFO] Initializing environment for https://github.com/pycqa/isort. 2026-07-31 08:38:26.566533 | ubuntu-noble | [WARNING] repo `https://github.com/pycqa/isort` uses deprecated stage names (commit, merge-commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pycqa/isort` will fix this. if it does not -- consider reporting an issue to that repo. 2026-07-31 08:38:26.566654 | ubuntu-noble | [INFO] Initializing environment for https://github.com/adrienverge/yamllint.git. 2026-07-31 08:38:26.989983 | ubuntu-noble | [INFO] Initializing environment for https://github.com/ansible/ansible-lint.git. 2026-07-31 08:38:27.593997 | ubuntu-noble | [INFO] Initializing environment for https://github.com/ansible/ansible-lint.git:ansible-core>=2.16.0. 2026-07-31 08:38:28.303196 | ubuntu-noble | [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. 2026-07-31 08:38:28.303297 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:28.303318 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:32.466424 | ubuntu-noble | [INFO] Installing environment for https://github.com/psf/black. 2026-07-31 08:38:32.466488 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:32.466499 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:36.738464 | ubuntu-noble | [INFO] Installing environment for https://github.com/pycqa/flake8. 2026-07-31 08:38:36.738643 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:36.738657 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:40.134690 | ubuntu-noble | [INFO] Installing environment for https://github.com/pycqa/isort. 2026-07-31 08:38:40.134784 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:40.134795 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:42.948453 | ubuntu-noble | [INFO] Installing environment for https://github.com/adrienverge/yamllint.git. 2026-07-31 08:38:42.948579 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:42.948597 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:46.376309 | ubuntu-noble | [INFO] Installing environment for https://github.com/ansible/ansible-lint.git. 2026-07-31 08:38:46.376368 | ubuntu-noble | [INFO] Once installed this environment will be reused. 2026-07-31 08:38:46.376373 | ubuntu-noble | [INFO] This may take a few minutes... 2026-07-31 08:38:58.804821 | ubuntu-noble | fix end of files.........................................................Passed 2026-07-31 08:38:58.886660 | ubuntu-noble | trim trailing whitespace.................................................Passed 2026-07-31 08:38:59.259190 | ubuntu-noble | black....................................................................Passed 2026-07-31 08:38:59.548608 | ubuntu-noble | flake8...................................................................Passed 2026-07-31 08:38:59.698061 | ubuntu-noble | isort....................................................................Passed 2026-07-31 08:39:00.055627 | ubuntu-noble | yamllint.................................................................Passed 2026-07-31 08:40:13.067030 | ubuntu-noble | Ansible-lint.............................................................Passed 2026-07-31 08:40:13.188389 | ubuntu-noble | ok: Runtime: 0:01:49.191397 2026-07-31 08:40:13.190741 | 2026-07-31 08:40:13.190787 | PLAY RECAP 2026-07-31 08:40:13.190833 | ubuntu-noble | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-07-31 08:40:13.190854 | 2026-07-31 08:40:13.311801 | RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/zuul-jobs/playbooks/pre-commit/run.yaml@main] 2026-07-31 08:40:13.313748 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-07-31 08:40:13.953542 | 2026-07-31 08:40:13.953660 | PLAY [all] 2026-07-31 08:40:13.970861 | 2026-07-31 08:40:13.970955 | TASK [fetch-output : Set log path for multiple nodes] 2026-07-31 08:40:14.016939 | ubuntu-noble | skipping: Conditional result was False 2026-07-31 08:40:14.027590 | 2026-07-31 08:40:14.027676 | TASK [fetch-output : Set log path for single node] 2026-07-31 08:40:14.072561 | ubuntu-noble | ok 2026-07-31 08:40:14.079885 | 2026-07-31 08:40:14.079982 | LOOP [fetch-output : Ensure local output dirs] 2026-07-31 08:40:14.506138 | ubuntu-noble -> localhost | ok: "/var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/logs" 2026-07-31 08:40:14.726703 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/artifacts" 2026-07-31 08:40:14.926573 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/79e0e766176748efaed2ec061759c37f/work/docs" 2026-07-31 08:40:14.944815 | 2026-07-31 08:40:14.945195 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-07-31 08:40:15.656193 | ubuntu-noble | ok 2026-07-31 08:40:15.656467 | ubuntu-noble | changed: All items complete 2026-07-31 08:40:15.656522 | 2026-07-31 08:40:16.145809 | ubuntu-noble | changed: .d..t...... ./ 2026-07-31 08:40:16.617066 | ubuntu-noble | changed: .d..t...... ./ 2026-07-31 08:40:16.644818 | 2026-07-31 08:40:16.644967 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-07-31 08:40:17.108516 | ubuntu-noble -> localhost | ok: Item: artifacts Runtime: 0:00:00.008348 2026-07-31 08:40:17.374417 | ubuntu-noble -> localhost | ok: Item: docs Runtime: 0:00:00.009353 2026-07-31 08:40:17.388436 | 2026-07-31 08:40:17.388560 | PLAY [all] 2026-07-31 08:40:17.395746 | 2026-07-31 08:40:17.395840 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2026-07-31 08:40:17.901260 | ubuntu-noble | changed 2026-07-31 08:40:17.908604 | 2026-07-31 08:40:17.908739 | PLAY RECAP 2026-07-31 08:40:17.908818 | ubuntu-noble | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2026-07-31 08:40:17.908844 | 2026-07-31 08:40:18.105425 | POST-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-07-31 08:40:18.107645 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml@main] 2026-07-31 08:40:18.745514 | 2026-07-31 08:40:18.746149 | PLAY [localhost] 2026-07-31 08:40:18.758144 | 2026-07-31 08:40:18.758234 | TASK [Generate Zuul manifest] 2026-07-31 08:40:18.781076 | localhost | ok 2026-07-31 08:40:18.797771 | 2026-07-31 08:40:18.797871 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-07-31 08:40:19.257661 | localhost | changed 2026-07-31 08:40:19.271025 | 2026-07-31 08:40:19.271188 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-07-31 08:40:19.304759 | localhost | ok 2026-07-31 08:40:19.315397 | 2026-07-31 08:40:19.315540 | TASK [Upload logs] 2026-07-31 08:40:19.337898 | localhost | ok 2026-07-31 08:40:19.399932 | 2026-07-31 08:40:19.400101 | TASK [Set zuul-log-path fact] 2026-07-31 08:40:19.423129 | localhost | ok 2026-07-31 08:40:19.436142 | 2026-07-31 08:40:19.436253 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-07-31 08:40:19.466991 | localhost | ok 2026-07-31 08:40:19.476582 | 2026-07-31 08:40:19.476681 | TASK [upload-logs : Create log directories] 2026-07-31 08:40:19.904922 | localhost | changed 2026-07-31 08:40:19.912039 | 2026-07-31 08:40:19.912121 | TASK [upload-logs : Ensure logs are readable before uploading] 2026-07-31 08:40:20.371518 | localhost -> localhost | ok: Runtime: 0:00:00.006390 2026-07-31 08:40:20.378156 | 2026-07-31 08:40:20.378291 | TASK [upload-logs : Upload logs to log server] 2026-07-31 08:40:20.857330 | localhost | Output suppressed because no_log was given 2026-07-31 08:40:20.862361 | 2026-07-31 08:40:20.862431 | LOOP [upload-logs : Compress console log and json output] 2026-07-31 08:40:20.905084 | localhost | skipping: Conditional result was False 2026-07-31 08:40:20.912711 | localhost | skipping: Conditional result was False 2026-07-31 08:40:20.927063 | 2026-07-31 08:40:20.927205 | LOOP [upload-logs : Upload compressed console log and json output] 2026-07-31 08:40:20.975698 | localhost | skipping: Conditional result was False 2026-07-31 08:40:20.976140 | 2026-07-31 08:40:20.980616 | localhost | skipping: Conditional result was False 2026-07-31 08:40:20.991390 | 2026-07-31 08:40:20.991539 | LOOP [upload-logs : Upload console log and json output]