- Add edge runtime config and opsconsole package - Refactor edge console to use new runtime config - Add service source metadata support - Update CLI adapter with target terminology - Add edge operation contract and event bus replay - Update node label and command ops surface - Add E2E smoke tests and full validation - Update proto runtime definitions - Update documentation and agent-ops rules
75 lines
5.4 KiB
Text
75 lines
5.4 KiB
Text
[e2e] shellcheck not found, skipping
|
|
[e2e] preparing honest mock smoke test (using cli adapter + cat)...
|
|
[e2e] starting smoke test (profile: mock, port: 33799, persistent: 1, has_status: 0)
|
|
[e2e] > /nodes
|
|
[e2e] > ping
|
|
[e2e] > /session session2
|
|
[e2e] > /background on
|
|
[e2e] > pong
|
|
[e2e] > /background off
|
|
[e2e] > /terminate-session
|
|
[e2e] > /exit
|
|
=== EDGE OUTPUT ===
|
|
[edge] config=/tmp/tmp.ALmhT04pPf/edge.yaml
|
|
{"level":"info","ts":1778990082.5129929,"caller":"transport/server.go:81","msg":"edge listening for nodes","addr":"127.0.0.1:33799"}
|
|
IOP Edge console listening on 127.0.0.1:33799
|
|
Console target node= adapter=cli target=fake-cat session=default background=false
|
|
Start node.sh on another host, then type a message here.
|
|
Commands: /nodes, /node <id|alias>, /session <id>, /background on|off, /terminate-session, /status, /capabilities, /sessions, /transport, /exit
|
|
edge> {"level":"warn","ts":1778990082.5144048,"caller":"bootstrap/runtime.go:74","msg":"metrics server exited","error":"listen tcp :9092: bind: address already in use"}
|
|
{"level":"info","ts":1778990082.8937554,"caller":"transport/server.go:115","msg":"node connection established"}
|
|
{"level":"info","ts":1778990082.9023786,"caller":"transport/server.go:115","msg":"node connection established"}
|
|
{"level":"info","ts":1778990083.4160721,"caller":"transport/server.go:115","msg":"node connection established"}
|
|
{"level":"info","ts":1778990083.4168186,"caller":"transport/server.go:188","msg":"node registered","node_id":"test-node","alias":"test-node"}
|
|
[node-test-node-event] connected reason="registered"
|
|
test-node (test-node)
|
|
edge> [edge] sent run_id=manual-1778990088900347458 node=test-node adapter=cli target=fake-cat session=default background=false
|
|
[node-test-node-event] start run_id=manual-1778990088900347458
|
|
[node-test-node-message] ping
|
|
[node-test-node-event] complete run_id=manual-1778990088900347458 detail="idle-timeout"
|
|
edge> session → session2
|
|
edge> background → on
|
|
edge> [edge] sent run_id=manual-1778990097909791879 node=test-node adapter=cli target=fake-cat session=session2 background=true
|
|
[edge] background run dispatched, events will arrive asynchronously
|
|
edge> [node-test-node-event] start run_id=manual-1778990097909791879 session=session2 background=true
|
|
[node-test-node-message] pong
|
|
[node-test-node-event] complete run_id=manual-1778990097909791879 detail="idle-timeout"
|
|
background → off
|
|
edge> terminated session session2 node=test-node
|
|
edge> bye
|
|
{"level":"info","ts":1778990106.9195952,"caller":"transport/server.go:173","msg":"node unregistered","node_id":"test-node","transport_close_reason":"local_close","transport_close_error":"read tcp 127.0.0.1:33799->127.0.0.1:44684: use of closed network connection"}
|
|
=== NODE OUTPUT ===
|
|
[node] config=/tmp/tmp.ALmhT04pPf/node.yaml
|
|
[node] waiting for edge at 127.0.0.1:33799 timeout=30s
|
|
[node] edge is reachable
|
|
[Fx] PROVIDE fx.Lifecycle <= go.uber.org/fx.New.func1()
|
|
[Fx] PROVIDE fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
|
|
[Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
|
|
[Fx] PROVIDE *config.NodeConfig <= iop/apps/node/internal/bootstrap.Module.func1()
|
|
[Fx] PROVIDE *zap.Logger <= iop/apps/node/internal/bootstrap.Module.func2()
|
|
[Fx] INVOKE iop/apps/node/internal/bootstrap.Module.func3()
|
|
[Fx] RUN provide: go.uber.org/fx.New.func1()
|
|
[Fx] RUN provide: iop/apps/node/internal/bootstrap.Module.func1()
|
|
[Fx] RUN provide: iop/apps/node/internal/bootstrap.Module.func2()
|
|
[Fx] HOOK OnStart iop/apps/node/internal/bootstrap.Module.func3.1() executing (caller: iop/apps/node/internal/bootstrap.Module.func3)
|
|
{"level":"info","ts":1778990083.4173965,"caller":"transport/client.go:62","msg":"registered with edge","node_id":"test-node","alias":"test-node"}
|
|
{"level":"info","ts":1778990083.4200795,"caller":"store/store.go:62","msg":"store ready","dsn":"file:iop.db?cache=shared&mode=rwc"}
|
|
{"level":"info","ts":1778990083.4205554,"caller":"cli/cli.go:122","msg":"cli adapter: persistent session started","target":"fake-cat"}
|
|
[Fx] HOOK OnStart iop/apps/node/internal/bootstrap.Module.func3.1() called by iop/apps/node/internal/bootstrap.Module.func3 ran successfully in 4.972208ms
|
|
[Fx] RUNNING
|
|
{"level":"warn","ts":1778990083.4220316,"caller":"bootstrap/module.go:81","msg":"metrics server exited","error":"listen tcp :9091: bind: address already in use"}
|
|
{"level":"info","ts":1778990088.9014378,"caller":"node/node.go:59","msg":"run request received","run_id":"manual-1778990088900347458","adapter":"cli","target":"fake-cat"}
|
|
[edge-message] ping
|
|
[node-event] start run_id=manual-1778990088900347458
|
|
[node-message] ping
|
|
[node-event] complete run_id=manual-1778990088900347458 detail="idle-timeout"
|
|
{"level":"info","ts":1778990097.9103217,"caller":"node/node.go:59","msg":"run request received","run_id":"manual-1778990097909791879","adapter":"cli","target":"fake-cat"}
|
|
[edge-message] pong
|
|
[node-event] start run_id=manual-1778990097909791879
|
|
[node-message] pong
|
|
[node-event] complete run_id=manual-1778990097909791879 detail="idle-timeout"
|
|
{"level":"info","ts":1778990103.9154527,"caller":"node/node.go:156","msg":"cancel request","run_id":"","action":"CANCEL_ACTION_TERMINATE_SESSION"}
|
|
{"level":"info","ts":1778990106.9196928,"caller":"transport/session.go:89","msg":"disconnected from edge","transport_close_reason":"remote_closed","transport_close_error":"EOF"}
|
|
[edge-event] disconnected reason="transport_closed" transport_close_reason="remote_closed" transport_close_error="EOF"
|
|
===================
|
|
[e2e] Smoke test PASSED.
|