CI/CD Test Results - Run #200
Repository: quant-net/qn-server
Workflow: CICD-test-develop-nightly
Workflow run: https://github.com/quant-net/qn-server/actions/runs/28865294095
Check containers [before] running scripts: start
🔍 Checking agent-1...
🔍 Checking agent-2...
🔍 Checking agent-3...
🔍 Checking agent-4...
🔍 Checking controller...
------ Logs for controller ------
controller-1 | 2026-07-07 12:15:07,065 - quantnet_controller.cli - INFO - Loaded configuration from /opt/quantnet/etc/quantnet.cfg
controller-1 | 2026-07-07 12:15:07,070 - quantnet_controller.server - INFO - Started server process [1]
controller-1 | 2026-07-07 12:15:07,118 - quantnet_controller.server - INFO - Server started with protocol namespaces:
controller-1 | NAME NAMESPACE SCHEMA
controller-1 | ------------------------------------------------------------
controller-1 | objects default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/objects/objects.yaml
controller-1 | q-repeater default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/q-repeater.yaml
controller-1 | bsm-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/bsm-node.yaml
controller-1 | m-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/m-node.yaml
controller-1 | q-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/q-node.yaml
controller-1 | optical-switch default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/optical-switch.yaml
controller-1 | qn-server-rpc default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/qn-server/qn-server-rpc.yaml
controller-1 | scheduler scheduler /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/scheduler.yaml
controller-1 | simulation simulation /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/simulation.yaml
controller-1 | experiment experiment /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/experiment.yaml
controller-1 | calibration calibration /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/calibration.yaml
controller-1 | monitor monitor /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/messages/monitor.yaml
controller-1 | bsm bsm /qn-plugins/plugins/schema/bsm.yaml
controller-1 | egp egp /qn-plugins/plugins/schema/egp.yaml
controller-1 | spg spg /qn-plugins/plugins/schema/spg.yaml
controller-1 | pingpong pingpong /qn-plugins/plugins/schema/pingpong.yaml
controller-1 | example example /qn-plugins/plugins/schema/example.yaml
controller-1 | 2026-07-07 12:15:07,121 - monitoring - INFO - Monitor plugin initialized with DB handler: <quantnet_controller.core.abstractdatabase.AsyncAbstractDatabase.AsyncDBModel object at 0x7f279254f410>
controller-1 | 2026-07-07 12:15:07,125 - quantnet_controller.common.request - INFO - Loaded experiment definition from /usr/local/lib/python3.11/site-packages/quantnet_controller/plugins/protocols/agentExperiment/exp_defs.py
controller-1 | 2026-07-07 12:15:07,125 - quantnet_controller.common.request - INFO - Initialized RequestManager for agentexperiment with type experiment
controller-1 | 2026-07-07 12:15:07,126 - quantnet_controller.common.request - INFO - Loaded experiment definition from /usr/local/lib/python3.11/site-packages/quantnet_controller/plugins/protocols/calibration/experiment.py
controller-1 | 2026-07-07 12:15:07,126 - quantnet_controller.common.request - INFO - Initialized RequestManager for agentcalibrationresponse with type calibration
controller-1 | 2026-07-07 12:15:07,133 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/egp/egp/experiment.py
controller-1 | 2026-07-07 12:15:07,133 - quantnet_controller.common.request - INFO - Initialized RequestManager for egprequest with type experiment
controller-1 | 2026-07-07 12:15:07,137 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/spg/spg/experiment.py
controller-1 | 2026-07-07 12:15:07,137 - quantnet_controller.common.request - INFO - Initialized RequestManager for spgrequest with type experiment
controller-1 | 2026-07-07 12:15:07,150 - quantnet_controller.common.request - INFO - Initialized RequestManager for pingpongrequest with type protocol
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/bsm/bsm/experiment.py
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.common.request - INFO - Initialized RequestManager for bsmrequest with type experiment
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.server - INFO - Loaded modules:
controller-1 | experiment PluginType.PROTOCOL
controller-1 | calibration PluginType.PROTOCOL
controller-1 | simulation PluginType.PROTOCOL
controller-1 | agentRegister PluginType.PROTOCOL
controller-1 | egp PluginType.PROTOCOL
controller-1 | spg PluginType.PROTOCOL
controller-1 | pingpong PluginType.PROTOCOL
controller-1 | bsm PluginType.PROTOCOL
controller-1 | router PluginType.ROUTING
controller-1 | scheduler PluginType.SCHEDULING
controller-1 | monitor PluginType.MONITORING
controller-1 | 2026-07-07 12:15:07,156 - quantnet_mq.rpcclient - INFO - Connected: qn-server-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,157 - quantnet_mq.rpcclient - INFO - Subscribed
controller-1 | 2026-07-07 12:15:07,158 - quantnet_mq.msgclient - INFO - Connected: msgclient-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,159 - quantnet_mq.msgserver - INFO - Connected: msgserver-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,159 - quantnet_mq.msgserver - INFO - Subscribed: monitor
controller-1 | 2026-07-07 12:15:07,160 - quantnet_mq.rpcserver - INFO - Connected: rpcserver-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,160 - plugins.scheduler - INFO - Scheduler is started
controller-1 | 2026-07-07 12:15:07,160 - plugins.routing - INFO - PathFinder routing module started
controller-1 | 2026-07-07 12:15:07,184 - quantnet_controller.db.nosql.collection.monitor - INFO - Monitor collection indexes created
controller-1 | 2026-07-07 12:15:07,184 - monitoring - INFO - Monitor started and listening on /monitor topic
controller-1 | 2026-07-07 12:15:07,184 - quantnet_mq.rpcserver - INFO - Subscribed: rpc/qn-server
controller-1 | 2026-07-07 12:15:22,504 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "LBNL-SWITCH", "payload": {"systemSettings": {"mode": "daemon", "threads": 5, "workers": 5, "type": "OpticalSwitch", "name": "switch1.lbl.gov", "ID": "LBNL-SWITCH", "controlInterface": "10.0.0.11"}, "channels": [{"ID": "11", "name": "channel_11", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::1", "systemRef": "LBNL-BSM", "channelRef": "1", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "12", "name": "channel_12", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::2", "systemRef": "LBNL-BSM", "channelRef": "2", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "13", "name": "channel_13", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::3", "systemRef": "LBNL-BSM", "channelRef": "3", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "14", "name": "channel_14", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::4", "systemRef": "LBNL-BSM", "channelRef": "4", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "15", "name": "channel_15", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::5", "systemRef": "LBNL-BSM", "channelRef": "5", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "1", "name": "channel_11", "type": "classic_photon_gen", "direction": "in", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::1", "systemRef": "LBNL-Q", "channelRef": "1", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_bsm_result", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::2", "systemRef": "LBNL-Q", "channelRef": "2", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::3", "systemRef": "LBNL-Q", "channelRef": "3", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::4", "systemRef": "LBNL-Q", "channelRef": "4", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "21", "name": "channel_21", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-M::1", "systemRef": "LBNL-M", "channelRef": "1", "type": "MNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "99", "name": "channel_99", "type": "quantum", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH::99", "systemRef": "UCB-SWITCH", "channelRef": "99", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "100", "name": "channel_100", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH::100", "systemRef": "UCB-SWITCH", "channelRef": "100", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,504 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,504 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch LBNL-SWITCH from agent LBNL-SWITCH
controller-1 | 2026-07-07 12:15:22,535 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "LBNL-Q", "payload": {"systemSettings": {"mode": "daemon", "threads": 3, "workers": 3, "type": "QNode", "name": "q-node1.lbl.gov", "ID": "LBNL-Q", "controlInterface": "10.0.0.3"}, "qubitSettings": {"qubits": [{"ID": "1", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}, {"ID": "2", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}], "operations": {"oneQubitGates": [{"gate": "rot_x", "qubits": ["1", "2"]}, {"gate": "rot_y", "qubits": ["1", "2"]}, {"gate": "rot_z", "qubits": ["1", "2"]}], "twoQubitGates": [{"gate": "cnot", "qubits": [["1", "2"]]}, {"gate": "cphase", "qubits": [["1", "2"]]}]}}, "matterLightInterfaceSettings": [{"ID": "1", "name": "Interface 1", "entanglement": {"rate": {"value": 1000, "unit": "Hz"}, "type": "\u2223\u03a6+\u27e9"}, "flyingQubit": {"type": "polarization", "wavelength": {"value": 1550, "unit": "nm"}}}], "channels": [{"ID": "1", "name": "channel_1", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": 12.1, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:1", "systemRef": "LBNL-SWITCH", "channelRef": "1", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_clk", "direction": "in", "wavelength": {"value": 1520, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:2", "systemRef": "LBNL-SWITCH", "channelRef": "2", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1530, "unit": "nm"}, "power": -4.7, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:3", "systemRef": "LBNL-SWITCH", "channelRef": "3", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1540, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:4", "systemRef": "LBNL-SWITCH", "channelRef": "4", "loss": {"value": 5, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,536 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,536 - quantnet_controller.core.managers - INFO - Registering QNode LBNL-Q from agent LBNL-Q
controller-1 | 2026-07-07 12:15:22,544 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "UCB-Q", "payload": {"systemSettings": {"mode": "daemon", "threads": 3, "workers": 3, "type": "QNode", "name": "q-node1.berkeley.edu", "ID": "UCB-Q", "controlInterface": "10.0.0.4"}, "qubitSettings": {"qubits": [{"ID": "1", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}, {"ID": "2", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}], "operations": {"oneQubitGates": [{"gate": "rot_x", "qubits": ["1", "2"]}, {"gate": "rot_y", "qubits": ["1", "2"]}, {"gate": "rot_z", "qubits": ["1", "2"]}], "twoQubitGates": [{"gate": "cnot", "qubits": [["1", "2"]]}, {"gate": "cphase", "qubits": [["1", "2"]]}]}}, "matterLightInterfaceSettings": [{"ID": "1", "name": "Interface 1", "entanglement": {"rate": {"value": 1000, "unit": "Hz"}, "type": "\u2223\u03a6+\u27e9"}, "flyingQubit": {"type": "polarization", "wavelength": {"value": 1550, "unit": "nm"}}}], "channels": [{"ID": "1", "name": "channel_1", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": 12.1, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:1", "systemRef": "UCB-SWITCH", "channelRef": "1", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_clk", "direction": "in", "wavelength": {"value": 1520, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:2", "systemRef": "UCB-SWITCH", "channelRef": "2", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1530, "unit": "nm"}, "power": -4.7, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:3", "systemRef": "UCB-SWITCH", "channelRef": "3", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1540, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:4", "systemRef": "UCB-SWITCH", "channelRef": "4", "loss": {"value": 5, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,545 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,545 - quantnet_controller.core.managers - INFO - Registering QNode UCB-Q from agent UCB-Q
controller-1 | 2026-07-07 12:15:22,569 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "UCB-SWITCH", "payload": {"systemSettings": {"mode": "daemon", "threads": 5, "workers": 5, "type": "OpticalSwitch", "name": "switch1.berkeley.edu", "ID": "UCB-SWITCH", "controlInterface": "10.0.0.12"}, "channels": [{"ID": "1", "name": "channel_11", "type": "classic_photon_gen", "direction": "in", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-Q::1", "systemRef": "UCB-Q", "channelRef": "1", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_bsm_result", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-Q::2", "systemRef": "UCB-Q", "channelRef": "2", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:UCB-Q::3", "systemRef": "UCB-Q", "channelRef": "3", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "quantum", "direction": "in", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-Q::4", "systemRef": "UCB-Q", "channelRef": "4", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "21", "name": "channel_21", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-M::1", "systemRef": "UCB-M", "channelRef": "1", "type": "MNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "22", "name": "channel_22", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-BSM::4", "systemRef": "UCB-BSM", "channelRef": "4", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "99", "name": "channel_99", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH::99", "systemRef": "LBNL-SWITCH", "channelRef": "99", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "100", "name": "channel_100", "type": "quantum", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH::100", "systemRef": "LBNL-SWITCH", "channelRef": "100", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,569 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,570 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch UCB-SWITCH from agent UCB-SWITCH
controller-1 | 2026-07-07 12:15:22,572 - quantnet_controller.db.nosql.async_db - INFO - Created capped collection 'MonitorState' (size=10485760)
controller-1 | 2026-07-07 12:15:22,573 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch LBNL-SWITCH succeed.
controller-1 | 2026-07-07 12:15:22,575 - quantnet_controller.core.managers - INFO - Registering QNode LBNL-Q succeed.
controller-1 | 2026-07-07 12:15:22,577 - monitoring - WARNING - Failed to update resource : collection MonitorState already exists
controller-1 | 2026-07-07 12:15:22,577 - monitoring - INFO - LBNL-SWITCH agentState is updated : {'rid': 'LBNL-SWITCH', 'ts': 1783426522.449505, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,578 - monitoring - INFO - UCB-SWITCH agentState is updated : {'rid': 'UCB-SWITCH', 'ts': 1783426522.557673, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,579 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch UCB-SWITCH succeed.
controller-1 | 2026-07-07 12:15:22,580 - monitoring - INFO - UCB-Q agentState is updated : {'rid': 'UCB-Q', 'ts': 1783426522.530632, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,580 - quantnet_controller.core.managers - INFO - Registering QNode UCB-Q succeed.
🔍 Checking portal...
✅ All containers are healthy and logs are clean.
Container check script finished with exit code: 0
Check containers [before] running scripts: end
Starting regression tests on Tue Jul 7 12:15:44 UTC 2026
Test #1: ping.py
--- UCB-SWITCH ping statistics ---
5 requests made, 5 received, time 5179ms
rtt min/avg/max/mdev 7.082/35.346/42.681/15.801 ms
message: Agent UCB-SWITCH is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- LBNL-Q ping statistics ---
5 requests made, 5 received, time 5180ms
rtt min/avg/max/mdev 5.664/34.794/42.462/16.289 ms
message: Agent LBNL-Q is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- UCB-Q ping statistics ---
5 requests made, 5 received, time 5183ms
rtt min/avg/max/mdev 6.327/35.289/43.304/16.206 ms
message: Agent UCB-Q is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- LBNL-SWITCH ping statistics ---
5 requests made, 5 received, time 5196ms
rtt min/avg/max/mdev 9.366/35.616/42.846/14.686 ms
message: Agent LBNL-SWITCH is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
Exit code: 0
Test #2: spg.py
Timeout awaiting RPC response
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/quantnet_mq/rpcclient.py", line 149, in call
await asyncio.wait_for(fut, timeout=timeout)
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 43, in
asyncio.run(MySPG(nodes, rate, duration).main())
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 29, in main
ret = await self.do_spg()
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 16, in do_spg
return json.loads(await self._client.call("spgRequest", msg, timeout=20.0))
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/quantnet_mq/rpcclient.py", line 152, in call
raise TimeoutError("Timeout awaiting RPC response")
TimeoutError: Timeout awaiting RPC response
Exit code: 1
SUMMARY: Failures detected!
@BinDong314 @youf3 @disprosium8
CI/CD Test Results - Run #200
Repository: quant-net/qn-server
Workflow: CICD-test-develop-nightly
Workflow run: https://github.com/quant-net/qn-server/actions/runs/28865294095
Check containers [before] running scripts: start
🔍 Checking agent-1...
🔍 Checking agent-2...
🔍 Checking agent-3...
🔍 Checking agent-4...
🔍 Checking controller...
------ Logs for controller ------
controller-1 | 2026-07-07 12:15:07,065 - quantnet_controller.cli - INFO - Loaded configuration from /opt/quantnet/etc/quantnet.cfg
controller-1 | 2026-07-07 12:15:07,070 - quantnet_controller.server - INFO - Started server process [1]
controller-1 | 2026-07-07 12:15:07,118 - quantnet_controller.server - INFO - Server started with protocol namespaces:
controller-1 | NAME NAMESPACE SCHEMA
controller-1 | ------------------------------------------------------------
controller-1 | objects default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/objects/objects.yaml
controller-1 | q-repeater default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/q-repeater.yaml
controller-1 | bsm-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/bsm-node.yaml
controller-1 | m-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/m-node.yaml
controller-1 | q-node default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/q-node.yaml
controller-1 | optical-switch default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/core/optical-switch.yaml
controller-1 | qn-server-rpc default /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/qn-server/qn-server-rpc.yaml
controller-1 | scheduler scheduler /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/scheduler.yaml
controller-1 | simulation simulation /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/simulation.yaml
controller-1 | experiment experiment /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/experiment.yaml
controller-1 | calibration calibration /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/rpc/calibration.yaml
controller-1 | monitor monitor /usr/local/lib/python3.11/site-packages/quantnet_mq/schema/messages/monitor.yaml
controller-1 | bsm bsm /qn-plugins/plugins/schema/bsm.yaml
controller-1 | egp egp /qn-plugins/plugins/schema/egp.yaml
controller-1 | spg spg /qn-plugins/plugins/schema/spg.yaml
controller-1 | pingpong pingpong /qn-plugins/plugins/schema/pingpong.yaml
controller-1 | example example /qn-plugins/plugins/schema/example.yaml
controller-1 | 2026-07-07 12:15:07,121 - monitoring - INFO - Monitor plugin initialized with DB handler: <quantnet_controller.core.abstractdatabase.AsyncAbstractDatabase.AsyncDBModel object at 0x7f279254f410>
controller-1 | 2026-07-07 12:15:07,125 - quantnet_controller.common.request - INFO - Loaded experiment definition from /usr/local/lib/python3.11/site-packages/quantnet_controller/plugins/protocols/agentExperiment/exp_defs.py
controller-1 | 2026-07-07 12:15:07,125 - quantnet_controller.common.request - INFO - Initialized RequestManager for agentexperiment with type experiment
controller-1 | 2026-07-07 12:15:07,126 - quantnet_controller.common.request - INFO - Loaded experiment definition from /usr/local/lib/python3.11/site-packages/quantnet_controller/plugins/protocols/calibration/experiment.py
controller-1 | 2026-07-07 12:15:07,126 - quantnet_controller.common.request - INFO - Initialized RequestManager for agentcalibrationresponse with type calibration
controller-1 | 2026-07-07 12:15:07,133 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/egp/egp/experiment.py
controller-1 | 2026-07-07 12:15:07,133 - quantnet_controller.common.request - INFO - Initialized RequestManager for egprequest with type experiment
controller-1 | 2026-07-07 12:15:07,137 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/spg/spg/experiment.py
controller-1 | 2026-07-07 12:15:07,137 - quantnet_controller.common.request - INFO - Initialized RequestManager for spgrequest with type experiment
controller-1 | 2026-07-07 12:15:07,150 - quantnet_controller.common.request - INFO - Initialized RequestManager for pingpongrequest with type protocol
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.common.request - INFO - Loaded experiment definition from /qn-plugins/plugins/bsm/bsm/experiment.py
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.common.request - INFO - Initialized RequestManager for bsmrequest with type experiment
controller-1 | 2026-07-07 12:15:07,153 - quantnet_controller.server - INFO - Loaded modules:
controller-1 | experiment PluginType.PROTOCOL
controller-1 | calibration PluginType.PROTOCOL
controller-1 | simulation PluginType.PROTOCOL
controller-1 | agentRegister PluginType.PROTOCOL
controller-1 | egp PluginType.PROTOCOL
controller-1 | spg PluginType.PROTOCOL
controller-1 | pingpong PluginType.PROTOCOL
controller-1 | bsm PluginType.PROTOCOL
controller-1 | router PluginType.ROUTING
controller-1 | scheduler PluginType.SCHEDULING
controller-1 | monitor PluginType.MONITORING
controller-1 | 2026-07-07 12:15:07,156 - quantnet_mq.rpcclient - INFO - Connected: qn-server-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,157 - quantnet_mq.rpcclient - INFO - Subscribed
controller-1 | 2026-07-07 12:15:07,158 - quantnet_mq.msgclient - INFO - Connected: msgclient-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,159 - quantnet_mq.msgserver - INFO - Connected: msgserver-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,159 - quantnet_mq.msgserver - INFO - Subscribed: monitor
controller-1 | 2026-07-07 12:15:07,160 - quantnet_mq.rpcserver - INFO - Connected: rpcserver-b2b7c8b0-088a-45ba-b5f2-c5654a880058
controller-1 | 2026-07-07 12:15:07,160 - plugins.scheduler - INFO - Scheduler is started
controller-1 | 2026-07-07 12:15:07,160 - plugins.routing - INFO - PathFinder routing module started
controller-1 | 2026-07-07 12:15:07,184 - quantnet_controller.db.nosql.collection.monitor - INFO - Monitor collection indexes created
controller-1 | 2026-07-07 12:15:07,184 - monitoring - INFO - Monitor started and listening on /monitor topic
controller-1 | 2026-07-07 12:15:07,184 - quantnet_mq.rpcserver - INFO - Subscribed: rpc/qn-server
controller-1 | 2026-07-07 12:15:22,504 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "LBNL-SWITCH", "payload": {"systemSettings": {"mode": "daemon", "threads": 5, "workers": 5, "type": "OpticalSwitch", "name": "switch1.lbl.gov", "ID": "LBNL-SWITCH", "controlInterface": "10.0.0.11"}, "channels": [{"ID": "11", "name": "channel_11", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::1", "systemRef": "LBNL-BSM", "channelRef": "1", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "12", "name": "channel_12", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::2", "systemRef": "LBNL-BSM", "channelRef": "2", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "13", "name": "channel_13", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::3", "systemRef": "LBNL-BSM", "channelRef": "3", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "14", "name": "channel_14", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::4", "systemRef": "LBNL-BSM", "channelRef": "4", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "15", "name": "channel_15", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-BSM::5", "systemRef": "LBNL-BSM", "channelRef": "5", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "1", "name": "channel_11", "type": "classic_photon_gen", "direction": "in", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::1", "systemRef": "LBNL-Q", "channelRef": "1", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_bsm_result", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::2", "systemRef": "LBNL-Q", "channelRef": "2", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::3", "systemRef": "LBNL-Q", "channelRef": "3", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-Q::4", "systemRef": "LBNL-Q", "channelRef": "4", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "21", "name": "channel_21", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:LBNL-M::1", "systemRef": "LBNL-M", "channelRef": "1", "type": "MNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "99", "name": "channel_99", "type": "quantum", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH::99", "systemRef": "UCB-SWITCH", "channelRef": "99", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "100", "name": "channel_100", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH::100", "systemRef": "UCB-SWITCH", "channelRef": "100", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,504 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,504 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch LBNL-SWITCH from agent LBNL-SWITCH
controller-1 | 2026-07-07 12:15:22,535 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "LBNL-Q", "payload": {"systemSettings": {"mode": "daemon", "threads": 3, "workers": 3, "type": "QNode", "name": "q-node1.lbl.gov", "ID": "LBNL-Q", "controlInterface": "10.0.0.3"}, "qubitSettings": {"qubits": [{"ID": "1", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}, {"ID": "2", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}], "operations": {"oneQubitGates": [{"gate": "rot_x", "qubits": ["1", "2"]}, {"gate": "rot_y", "qubits": ["1", "2"]}, {"gate": "rot_z", "qubits": ["1", "2"]}], "twoQubitGates": [{"gate": "cnot", "qubits": [["1", "2"]]}, {"gate": "cphase", "qubits": [["1", "2"]]}]}}, "matterLightInterfaceSettings": [{"ID": "1", "name": "Interface 1", "entanglement": {"rate": {"value": 1000, "unit": "Hz"}, "type": "\u2223\u03a6+\u27e9"}, "flyingQubit": {"type": "polarization", "wavelength": {"value": 1550, "unit": "nm"}}}], "channels": [{"ID": "1", "name": "channel_1", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": 12.1, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:1", "systemRef": "LBNL-SWITCH", "channelRef": "1", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_clk", "direction": "in", "wavelength": {"value": 1520, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:2", "systemRef": "LBNL-SWITCH", "channelRef": "2", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1530, "unit": "nm"}, "power": -4.7, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:3", "systemRef": "LBNL-SWITCH", "channelRef": "3", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1540, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH:4", "systemRef": "LBNL-SWITCH", "channelRef": "4", "loss": {"value": 5, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,536 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,536 - quantnet_controller.core.managers - INFO - Registering QNode LBNL-Q from agent LBNL-Q
controller-1 | 2026-07-07 12:15:22,544 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "UCB-Q", "payload": {"systemSettings": {"mode": "daemon", "threads": 3, "workers": 3, "type": "QNode", "name": "q-node1.berkeley.edu", "ID": "UCB-Q", "controlInterface": "10.0.0.4"}, "qubitSettings": {"qubits": [{"ID": "1", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}, {"ID": "2", "quantumObject": "trapped_ion", "T1": {"value": 1.5, "unit": "s"}, "T2": {"value": 1.1, "unit": "s"}, "type": "communication"}], "operations": {"oneQubitGates": [{"gate": "rot_x", "qubits": ["1", "2"]}, {"gate": "rot_y", "qubits": ["1", "2"]}, {"gate": "rot_z", "qubits": ["1", "2"]}], "twoQubitGates": [{"gate": "cnot", "qubits": [["1", "2"]]}, {"gate": "cphase", "qubits": [["1", "2"]]}]}}, "matterLightInterfaceSettings": [{"ID": "1", "name": "Interface 1", "entanglement": {"rate": {"value": 1000, "unit": "Hz"}, "type": "\u2223\u03a6+\u27e9"}, "flyingQubit": {"type": "polarization", "wavelength": {"value": 1550, "unit": "nm"}}}], "channels": [{"ID": "1", "name": "channel_1", "type": "quantum", "direction": "out", "wavelength": {"value": 1550, "unit": "nm"}, "power": 12.1, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:1", "systemRef": "UCB-SWITCH", "channelRef": "1", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_clk", "direction": "in", "wavelength": {"value": 1520, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:2", "systemRef": "UCB-SWITCH", "channelRef": "2", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_bsm_result", "direction": "in", "wavelength": {"value": 1530, "unit": "nm"}, "power": -4.7, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:3", "systemRef": "UCB-SWITCH", "channelRef": "3", "loss": {"value": 5, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "classic_photon_gen", "direction": "out", "wavelength": {"value": 1540, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-SWITCH:4", "systemRef": "UCB-SWITCH", "channelRef": "4", "loss": {"value": 5, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,545 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,545 - quantnet_controller.core.managers - INFO - Registering QNode UCB-Q from agent UCB-Q
controller-1 | 2026-07-07 12:15:22,569 - agentRegister - INFO - Received Register: {"cmd": "register", "agentId": "UCB-SWITCH", "payload": {"systemSettings": {"mode": "daemon", "threads": 5, "workers": 5, "type": "OpticalSwitch", "name": "switch1.berkeley.edu", "ID": "UCB-SWITCH", "controlInterface": "10.0.0.12"}, "channels": [{"ID": "1", "name": "channel_11", "type": "classic_photon_gen", "direction": "in", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-Q::1", "systemRef": "UCB-Q", "channelRef": "1", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "2", "name": "channel_2", "type": "classic_bsm_result", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:UCB-Q::2", "systemRef": "UCB-Q", "channelRef": "2", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "3", "name": "channel_3", "type": "classic_clk", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 4.4, "neighbor": {"idRef": "urn:quant-net:UCB-Q::3", "systemRef": "UCB-Q", "channelRef": "3", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "4", "name": "channel_4", "type": "quantum", "direction": "in", "wavelength": {"value": 1550, "unit": "nm"}, "power": -3.2, "neighbor": {"idRef": "urn:quant-net:UCB-Q::4", "systemRef": "UCB-Q", "channelRef": "4", "type": "QNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "21", "name": "channel_21", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-M::1", "systemRef": "UCB-M", "channelRef": "1", "type": "MNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "22", "name": "channel_22", "type": "quantum", "direction": "out", "wavelength": {"value": 1000, "unit": "nm"}, "power": 2.3, "neighbor": {"idRef": "urn:quant-net:UCB-BSM::4", "systemRef": "UCB-BSM", "channelRef": "4", "type": "BSMNode", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "99", "name": "channel_99", "type": "quantum", "direction": "in", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH::99", "systemRef": "LBNL-SWITCH", "channelRef": "99", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}, {"ID": "100", "name": "channel_100", "type": "quantum", "direction": "out", "wavelength": {"value": 1310, "unit": "nm"}, "power": 1.4, "neighbor": {"idRef": "urn:quant-net:LBNL-SWITCH::100", "systemRef": "LBNL-SWITCH", "channelRef": "100", "type": "OpticalSwitch", "loss": {"value": 0, "unit": "dB"}}}]}}
controller-1 | 2026-07-07 12:15:22,569 - plugins.scheduler - INFO - Scheduling handle_register for 1 times 6s interval, assuming each takes 5s
controller-1 | 2026-07-07 12:15:22,570 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch UCB-SWITCH from agent UCB-SWITCH
controller-1 | 2026-07-07 12:15:22,572 - quantnet_controller.db.nosql.async_db - INFO - Created capped collection 'MonitorState' (size=10485760)
controller-1 | 2026-07-07 12:15:22,573 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch LBNL-SWITCH succeed.
controller-1 | 2026-07-07 12:15:22,575 - quantnet_controller.core.managers - INFO - Registering QNode LBNL-Q succeed.
controller-1 | 2026-07-07 12:15:22,577 - monitoring - WARNING - Failed to update resource : collection MonitorState already exists
controller-1 | 2026-07-07 12:15:22,577 - monitoring - INFO - LBNL-SWITCH agentState is updated : {'rid': 'LBNL-SWITCH', 'ts': 1783426522.449505, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,578 - monitoring - INFO - UCB-SWITCH agentState is updated : {'rid': 'UCB-SWITCH', 'ts': 1783426522.557673, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,579 - quantnet_controller.core.managers - INFO - Registering OpticalSwitch UCB-SWITCH succeed.
controller-1 | 2026-07-07 12:15:22,580 - monitoring - INFO - UCB-Q agentState is updated : {'rid': 'UCB-Q', 'ts': 1783426522.530632, 'eventType': 'agentState', 'value': 'IN_SPEC'}
controller-1 | 2026-07-07 12:15:22,580 - quantnet_controller.core.managers - INFO - Registering QNode UCB-Q succeed.
🔍 Checking portal...
✅ All containers are healthy and logs are clean.
Container check script finished with exit code: 0
Check containers [before] running scripts: end
Starting regression tests on Tue Jul 7 12:15:44 UTC 2026
Test #1: ping.py
--- UCB-SWITCH ping statistics ---
5 requests made, 5 received, time 5179ms
rtt min/avg/max/mdev 7.082/35.346/42.681/15.801 ms
message: Agent UCB-SWITCH is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- LBNL-Q ping statistics ---
5 requests made, 5 received, time 5180ms
rtt min/avg/max/mdev 5.664/34.794/42.462/16.289 ms
message: Agent LBNL-Q is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- UCB-Q ping statistics ---
5 requests made, 5 received, time 5183ms
rtt min/avg/max/mdev 6.327/35.289/43.304/16.206 ms
message: Agent UCB-Q is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
--- LBNL-SWITCH ping statistics ---
5 requests made, 5 received, time 5196ms
rtt min/avg/max/mdev 9.366/35.616/42.846/14.686 ms
message: Agent LBNL-SWITCH is configured with the following drivers: exp_framework, lightsource, epc, polarimeter, egp, messaging
Exit code: 0
Test #2: spg.py
Timeout awaiting RPC response
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/quantnet_mq/rpcclient.py", line 149, in call
await asyncio.wait_for(fut, timeout=timeout)
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 43, in
asyncio.run(MySPG(nodes, rate, duration).main())
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 29, in main
ret = await self.do_spg()
File "/home/runner/work/qn-server/qn-server/regression_tests/scripts/spg.py", line 16, in do_spg
return json.loads(await self._client.call("spgRequest", msg, timeout=20.0))
File "/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/quantnet_mq/rpcclient.py", line 152, in call
raise TimeoutError("Timeout awaiting RPC response")
TimeoutError: Timeout awaiting RPC response
Exit code: 1
SUMMARY: Failures detected!