Skip to content

JSON output flag does not output JSON structured logs #364

@kfbr

Description

@kfbr

Bill of Materials, Application, or CLI Version

0.8.0

Describe the bug

When passing -o json the log output is still being presented as standard newline-delimited stdout.

Describe the expected behavior

When I run a solo-provisioner command with -o json I expect to see JSON output in stdout -- or some sort of .json log written to disk. Instead, we see the report is still written in .yaml and the output is still in stdout log format.

To Reproduce

Run any solo-provisioner command like so:

sudo solo-provisioner block node check -p local -o json

Observe the stdout and note the report_path is .yaml

2026-02-11T22:29:33Z INF Workflow report is saved pid=1470638 report_path=/opt/solo/weaver/logs/setup_report_20260211_222933.yaml
2026-02-11T22:29:33Z DBG Running preflight checks for Hedera Block Node args=[] nodeType=block pid=1470638 profile=local
2026-02-11T22:29:33Z INF Starting privilege validation pid=1470638 step_id=validate-privileges
2026-02-11T22:29:33Z INF Superuser privilege validated pid=1470638
2026-02-11T22:29:33Z INF Privilege validation step completed successfully pid=1470638 status=success step_id=validate-privileges
2026-02-11T22:29:33Z INF Starting Solo Provisioner user validation pid=1470638 step_id=validate-weaver-user
2026-02-11T22:29:33Z INF Solo Provisioner user and group validated group=weaver group_id=2500 pid=1470638 user=weaver user_id=2500
2026-02-11T22:29:33Z INF Solo Provisioner user validation step completed successfully pid=1470638 status=success step_id=validate-weaver-user
2026-02-11T22:29:33Z INF Starting host profile validation pid=1470638
2026-02-11T22:29:33Z INF Retrieved host profile host_profile="OS: debian 12, CPU: 16 cores, Memory: 31/32 GB (available/total), Storage: 1628 GB" pid=1470638
2026-02-11T22:29:33Z INF Host profile retrieved, node type and profile validated node_type=block pid=1470638 profile=local
2026-02-11T22:29:33Z INF Host profile validation step completed successfully pid=1470638
2026-02-11T22:29:33Z INF Starting OS validation pid=1470638 step_id=validate-os
2026-02-11T22:29:33Z INF OS requirements validated node_type="Local Node" pid=1470638
2026-02-11T22:29:33Z INF OS validation step completed successfully pid=1470638 status=success step_id=validate-os
2026-02-11T22:29:33Z INF Starting CPU validation pid=1470638 step_id=validate-cpu
2026-02-11T22:29:33Z INF CPU requirements validated node_type="Local Node" pid=1470638
2026-02-11T22:29:33Z INF CPU validation step completed successfully pid=1470638 status=success step_id=validate-cpu
2026-02-11T22:29:33Z INF Starting memory validation pid=1470638 step_id=validate-memory
2026-02-11T22:29:33Z INF Memory requirements validated node_type="Local Node" pid=1470638
2026-02-11T22:29:33Z INF Memory validation step completed successfully pid=1470638 status=success step_id=validate-memory
2026-02-11T22:29:33Z INF Starting storage validation pid=1470638 step_id=validate-storage
2026-02-11T22:29:33Z INF Storage requirements validated node_type="Local Node" pid=1470638
2026-02-11T22:29:33Z INF Storage validation step completed successfully pid=1470638 status=success step_id=validate-storage
2026-02-11T22:29:33Z INF Node preflight checks completed successfully pid=1470638 status=success step_id=block-node-preflight
2026-02-11T22:29:33Z INF Workflow report is saved pid=1470638 report_path=/opt/solo/weaver/logs/setup_report_20260211_222933.yaml
2026-02-11T22:29:33Z INF Node preflight checks completed successfully for block node pid=1470638

Additional Context

A standard JSON format output would be very useful for Ansible or other automation tools, especially for parsing errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA error that causes the feature to behave differently than what was expected based on design docsPending TriageNew issue that needs to be triaged by the team

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions